10 张图带你搞懂 Kubernetes Pod 的创建流程
10 张图带你搞懂 Kubernetes Pod 的创建流程
将 Pod 部署运行在 Kubernetes 内,前几个步骤你可能很熟悉
- kubectl 将 YAML 发送到 API
- Pod 存储在 etcd 中
- 调度程序分配一个节点(此时Pod配置清单文件存储在 etcd 中,节点内并没有该 pod
- kubelet 开始创建 Pod
- kubelet 将创建容器的委托委派给 CRI
- kubelet 代表将容器连接到 CNI 的网络
- CNI 分配一个 IP 地址
- 检查探针
- 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://tinyurl.com/y3cmm8ba
扫码加入云原生高质量交流群
云原生运维圈
关注公众号后可以给作者发消息
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程
· .NET 10 首个预览版发布,跨平台开发与性能全面提升
· 《HelloGitHub》第 107 期
· 全程使用 AI 从 0 到 1 写了个小工具
· 从文本到图像:SSE 如何助力 AI 内容实时呈现?(Typescript篇)
2022-11-21 三种获取Go项目根目录的方式,让你做架构,选哪种?
2022-11-21 go1.18泛型初体检
2017-11-21 单机安装ELK