kubernetes创建pod流程图

mark

创建Pod文字简述

创建 Pod 时发生的过程:
1.Pod 先存储在 etcd 中。
2.调度程序会分配一个节点,再将节点写入 etcd。
3.向 kubelet 通知有个新 Pod。
4.kubelet 将创建容器的任务给CRI。
5.kubelet 将容器附加到 CNI。
6.kubelet 将容器中的卷委派给 CSI。
7.CNI 分配 IP 地址。
8.Kubelet 将 IP 地址通知给控制平面。
9.IP 地址存储在 etcd 中。
如果我们的 Pod 属于 某个Service:
1.Kubelet 等待 Readiness 探针成功。
2.对所有相关的 Endpoint 对象更改进行通知。
3.Endpoint 将新 endpoint(IP 地址 + 端口)添加到列表中。
4.Kube-proxy 被通知 Endpoint 更改,然后 Kube-proxy 会更新每个节点上的 iptables 规则。
5.Ingress 控制器被通知 Endpoint 变化,然后控制器会将流量路由到新的 IP 地址。
6.CoreDNS 被通知 Endpoint 更改。如果服务的类型为 Headless,DNS 会进行更新。
7.云提供商被通知 Endpoint 更改。如果 Service 是 type: LoadBalancer,新的 endpoint 配置会是负载均衡池的一部分。
8.集群中安装的所有服务网格也会被通知 Endpoint 更改。
9.订阅 Endpoint 更改的其他运营商也会收到通知。

来源

米开朗基杨