Pod 的存储之volume
容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中的 Volume 抽象就很好的解决了这些问题。 背景 Kubernetes 中的卷有明确的寿命,与封装它...
容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中的 Volume 抽象就很好的解决了这些问题。 背景 Kubernetes 中的卷有明确的寿命,与封装它...
一、Pod 的 NameSpace使用 kubectl 管理命名空间及其包含的资源相当简单。在这一节中,我们将演示一些最常见的命名空间操作,便于你开始有效地分割资源。 在我们进行创建命名空间之前,先说一下 Kubernetes 是如何自动设置它的,在默认情况下,新的集群上有三个命名空间: default: 向集群中添加对象而不提供命名空间,这样它会被放入默认的命名空间中。在创建替代的命名空间...
一、statefulset介绍StatefulSet 是为了解决有状态服务的问题而设计的资源控制器。 匹配 Pod name ( 网络标识 ) 的模式为:(statefulset名称)-(序号),比如上面的示例:web-0,web-1,web-2 StatefulSet 为每个 Pod 副本创建了一个 DNS 域名,这个域名的格式为: $(podname).(headless server...
Ingress-Nginx github 地址:https://github.com/kubernetes/ingress-nginx Ingress-Nginx 官方网站:https://kubernetes.github.io/ingress-nginx 部署 Ingress-Nginx 12345https://kubernetes.github.io/ingress-nginx/...
ClusterIP clusterIP 主要在每个 node 节点使用 ipvs,将发向 clusterIP 对应端口的数据,转发到 kube-proxy 中。然后 kube-proxy 自己内部实现有负载均衡的方法,并可以查询到这个 service 下对应 pod 的地址和端口,进而把数据转发给对应的 pod 的地址和端口。 为了实现图上的功能,主要需要以下几个组件的协同工作: api...
一、Pod 的资源控制器类型什么是控制器呢?简单来说,控制器就好比是影视剧里面的剧本,演员会根据剧本所写的内容来针对不同的角色进行演绎,而我们的控制器就好比是剧本,Kubernetes 会根据我们所定义的规则,或者是按照我们写好的 “剧本” 来完成创建我们的 Pod 。 控制器类型 ReplicationController 与 ReplicaSet Replicationcontrol...
一、istio指标收集与查询
一、istio分布式追踪官方网站:https://www.jaegertracing.io/
一、istio 流量管理1、配置请求路由 Istio Bookinfo 示例包含四个独立的微服务,每个微服务都有多个版本。 其中一个微服务 reviews 的三个不同版本已经部署并同时运行。 为了说明这导致的问题,在浏览器中访问 Bookinfo 应用程序的 /productpage 并刷新几次。 您会注意到,有时书评的输出包含星级评分,有时则不包含。 这是因为没有明确的默认服务版本路由,Istio 将以循环方式请求路由到所有可用版本,此任务的最初目标是应用将所有流量路由到微服务的 v1 (版本 1)的规则。
一、Service Mesh 服务网格是什么随着服务网络的规模和复杂性不断的增长,它将会变得越来越难以理解和管理。它的需求包括服务发现、负载均衡、故障恢复、度量和监控等。服务网络通常还有更复杂的运维需求,比如 A/B 测试、灰度发布、速率限制、访问控制和端到端认证。 服务网格用来描述组成这些应用程序的微服务网络以及它们之间的交互。简单来说,Service Mesh 可以看做是传统代理的升级版,用来解决现在微服务框架中出现的问题,可以把 Service Mesh 看做是分布式的微服务代理,在传统模式下,代理一般是集中式的单独的服务器,所有的请求都要先通过代理,然后再流入转发到实际的后端,而在 Service Mesh 中,代理变成了分布式的,它常驻在了应用的身边,这样的话,应用所有的流量都被代理接管,那么这个代理就能为整个通信带来更多的功能,比如: