Kubernetes架构解析:原理、组件与设计思想
1. 协调控制循环与隐式分组
1.1 协调控制循环
协调控制循环是Kubernetes实现系统状态管理的核心机制,家庭中的恒温器就是一个很好的例子。恒温器有期望状态(用户设定的温度),会对环境进行观测(当前室内温度),找出两者差异,然后采取行动(加热或制冷)使实际状态与期望状态匹配。
在Kubernetes中,控制器也遵循相同的逻辑。用户通过向Kubernetes API服务器声明期望状态,例如“我想要该Web服务器的四个副本”。Kubernetes复制控制器获取该期望状态后,观测当前状态(如发现目前只有三个Web服务容器副本),找出差异(缺少一个Web服务器),然后创建第四个Web服务容器使实际状态与期望状态一致。
1.2 隐式或动态分组
在Kubernetes的实现中,经常需要对一组事物进行分组,有显式/静态分组和隐式/动态分组两种方式。
- 显式/静态分组 :每个组由具体列表定义,如“我的团队成员是Alice、Bob和Carol”。该列表明确列出每个成员的名称,且列表是静态的,除非列表本身改变,否则成员不会变化。这种方式易于理解,但缺乏灵活性,无法适应动态变化的环境。
- 隐式/动态分组 :组由一个声明来定义,例如“我的团队成员是穿橙色衣服的人”。组的成员未在定义中明确列出,而是通过对当前存在的一组人评估组定义来隐含确定。由于人员集合会随时变化,组的成员也是动态变化的。虽然这种方式会引入一定复杂性,但更加灵活稳定,能适应不断变化的环境,无需不断调整静态列表。
在
超级会员免费看
订阅专栏 解锁全文
1252

被折叠的 条评论
为什么被折叠?



