10 张图带你搞懂 Kubernetes Pod 的创建流程
Kubernetes流程 创建 10 Pod 搞懂 张图
2023-09-14 09:01:47 时间
将 Pod 部署运行在 Kubernetes 内,前几个步骤你可能很熟悉
(1) kubectl 将 YAML 发送到 API
(2) Pod 存储在 etcd 中
(3) 调度程序分配一个节点(此时Pod配置清单文件存储在 etcd 中,节点内并没有该 pod
(4) kubelet 开始创建 Pod
(5) kubelet 将创建容器的委托委派给 CRI
(6) CNI 分配一个 IP 地址
(7) 检查探针
(8) 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 来说过程一样,不过是相反。
Cni不止分配一个ip就完了,还要给容器添加虚拟网卡和网关,通常同时还会在宿主机上新建容器veth对的另一端,通常有的会连到网桥! 以上这些是cni实现的二进制命令来做的。
通常cni还会有其他deamon在长期运行着,来做宿主机上的路由,arp,fdb等的配置,从而实现容器跨主机通信
相关文章
- Kubernetes-离线部署skywalking
- kubernetes核心实战(二)---Pod+ReplicaSet
- 【K8S专栏】Kubernetes数据持久化管理
- 【大话云原生】煮饺子与docker、kubernetes之间的关系
- n1-Kubernetes名称概念解释一览
- Kubernetes 领进门 | 使用 k3s 快速部署 kubernetes 集群
- 16个 Awesome 工具让 Kubernetes 如虎添翼
- harbor高可用方案,基于kubernetes
- Kubernetes kubelet详细说明
- 面向 OLTP 场景,火山引擎跑在 Kubernetes 上的数据库有何不同?| Q推荐
- kubernetes安装Redis集群
- 帮助你驾驭 Kubernetes 的 4 个工具