图解Pod在Kubernetes中的创建过程
将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来说过程一样,不过是相反
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性