图解Pod在Kubernetes中的创建过程

马哥Linux运维

将Pod部署运行在Kubernetes内,前几个步骤你可能很熟悉

  1. kubectl将YAML发送到API

  1. Pod存储在etcd中

  1. 调度程序分配一个节点(此时Pod配置清单文件存储在etcd中,节点内并没有该pod)

  1. kubelet开始创建Pod

  1. kubelet将创建容器的委托委派给CRI

  1. kubelet代表将容器连接到CNI的网络

  1. CNI分配一个IP地址

  1. 检查探针
  2. kubelet将IP地址报告给控制平面

此时Pod就已经创建完成了,除非Pod是服务的一部分,否则Kubernetes会在此处停止。如果Pod属于服务,Kubernetes会创建一个端点endpoint-它连接Pod的IP地址和端口(targetPort)。将端点endpoint添加到端点(对象object)。


这些端点将会用于以下:

  • kube-proxy设置iptables规则

  • CoreDNS更新DNS条目

  • Ingress入口控制器设置下游服务downstreams

  • Service meshes

  • More operators其他运营商

就这样,完成一个Pod的创建和发布,对于删除Pod来说过程一样,不过是相反

原文地址:https://www.cnblogs.com/cheyunhua/p/14467917.html