首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Pod是如何被创建出来的?

所有的Kubernetes组件Controller, Scheduler, Kubelet都使用Watch机制来监听API Server,来获取对象变化的事件

用户通过Kubectl提交Pod Spec给API Server;

API Server将Pod对象的信息存入Etcd中

Pod的创建会生成一个事件,返回给API Server

Controller监听到这个事件

Controller知道这个Pod要mount一个盘,于是查看是否有能够满足条件的PV

假设有满足条件的PV,就将Pod和PV绑定在一起,将绑定关系告知API Server

API Server将绑定信息写入Etcd中

生成一个Pod Update事件

Scheduler监听到了这个事件

Scheduler需要为Pod选择一个Node

假设有满足条件的Node,就讲Pod和Node绑定在一起,将绑定关系告知API Server

API Server将绑定信息写入Etcd中

生成一个Pod Update事件

Kubelet监听到了这个事件,开始创建Pod

Kubelet告知CRI去下载镜像

Kubelet告知CRI去运行容器

CRI调用Docker运行容器

Kubelet告知Volume Manager,将盘挂载到Node上,然后mount到Pod中

CRI调用CNI给容器配置网络

Kubelet是一切容器 feature的落地点

所有的组件只与apiserver交互,不直接互通,更不直接控制kubelet 做某事

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OXK1H4DY2lbVDkniR4eXBqwg0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券