k8s通过yaml创建pod_k8s的连载----pod的创建过程

简要描述一个pod的创建过程

pod分为静态pod和动态pod

静态pod 是由 kubelet 管理的只在特定node上存在的pod;静态pod总是由kubelet创建的,并且只在kubelet所在的Node上运行。静态pod 不能通过 api-server来管理,无法和 RC,RS,Deployment或者 DaemonSet进行关联;并且 kubelet无法对静态pod 进行健康检查。

静态创建过程

静态pod是在特定文件目录定义好yaml,通过kubelet在启动进程时候增加启动参数,之后kubelet会隔一段时间去扫描特定目录下时候有pod配置文件生成,其中--config自定特定目录 ,--file-check-frequency指定扫描间隔,默认为20S。

动态pod创建过程

kubelet通过apiserver,利用etcd的watch加list机制,通过消息订阅的方式,etcd提供的接口可以参考专栏etcd的描述,etcd有pod的操作,将会被监听到,之后完成pod的创建

pod的调度过程

在kubelet监听etcd的过程中,可以获取到pod被分配到哪个特定的node,作为分布式系统,每一个slave节点启动的kubelet进程发现有pod绑定到自身的时候,就会启动后续的创建动作,這也说明了为什么静态pod不能指定节点,而必须通过自身node的kubellet进程去监听and创建。

pod的调度过程除了自身的调度算法外,还支持其他的调度策略,包括node seletctor,nodeaffnity,podaffnity,pod驱逐。

自身调度算法是kube scheduler模块来实现的,它提供的默认调度流程分为2部分,第一预选调度过程,第二确定最优节点

预选调度策略

fdf43a345b23951ace8a25f622507771.png

之后,kubelet负责完成pod的创建过程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值