PodWorkers

蚂蚁金服kubernetes方向招聘

PodWorkers是最终“同步”pod状态的一块逻辑,
“同步”在这里的含义是:确保kubelet所在节点的Pod状态和etcd中的状态一致,该增加的增加,该删除的删除,该更新的更新。

“同步”动作的触发有几个方式:
(1)通过文件、apiserver、http方式监听到的变化
(2)定时器触发,例如每隔10s

PodWorkers的入口是UpdatePod

type podWorkers struct {
    // key是pod的ID,value是一个chan,会有一个gorouting监听该chann
    // 死循环一般的处理该Pod上的所有变动
	podUpdates map[types.UID]chan UpdatePodOptions
	
	// 记录每个pod对应的gorouting当前的工作状态
	isWorking map[types.UID]bool
	
	// 每个Pod对应的gorouting处理完相关逻辑之后,会把Pod的ID塞入
	// workQueue。定时器会触发kubelet,kubelet会从workQueue里
	// 获取需要同步的Pod,然后调用PodWorkers的UpdatePod方法,
	// 触发新一轮的同步
	workQueue queue.WorkQueue
}

简单的示意图
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值