失效链接处理 |
Kubernetes学习笔记 PDF 下载
本站整理下载:
相关截图:
主要内容:
第一部分:理解控制器
简介:当我们尝试去理解 Kubernetes 集群工作原理的时候,控制器肯定是一个难点。这是因为
控制器有很多,具体实现大相径庭;且控制器的实现用到了一些较为晦涩的机制,不易理解。但
是,我们又不能绕过控制器,因为它是集群的“大脑”。
当我们尝试去理解 Kubernetes 集群工作原理的时候,控制器肯定是一个难点。这是因为控制器有很
多,具体实现大相径庭;且控制器的实现用到了一些较为晦涩的机制,不易理解。但是,我们又不能绕
过控制器,因为它是集群的“大脑”。在这,我们通过分析一个简易冰箱的设计过程,来深入理解集群控
制器的产生,功能以及实现方法。
1.1 大图
下图是 Kubernetes 集群的核心组件,包括数据库 etcd,调度器 scheduler,集群入口 API Server,控
制器 Controller,服务代理 kube-proxy 以及直接管理具体业务容器的 kubelet。这些组件逻辑上可以
被分为三个部分:核心组件 etc 数据库,对 etcd 进行直接操作的入口组件 API Server,以及其他组
件。这里的“其他组件”之所以可以被划分为一类,是因为它们都可以被看做是集群的控制器。
今天我们要讲的就是集群控制器原理。
1.2 控制器原理
虽然控制器是 Kubernetes 集群中比较复杂的组件,但控制器本身对我们来说并不陌生的。我们每天使
用的洗衣机、冰箱、空调等,都是依靠控制器才能正常工作。在控制器原理这一节,我们通过思考一个
简易冰箱的设计过程,来理解 Kubernetes 集群控制器的原理。
1.2.1 简易的冰箱
这个冰箱包括五个组件:箱体、制冷系统、照明系统、温控器以及门。冰箱只有两个功能:当有人打开
冰箱门的时候,冰箱内的灯会自动开启;当有人按下温控器的时候,制冷系统会根据温度设置,调节冰
箱内温度。
1.2.2 统一入口
对于上边的冰箱,我们可以简单抽象成两个部分:统一的操作入口和冰箱的所有组件。在这里,用户只
有通过入口,才能操作冰箱。这个入口提供给用户两个接口:开关门和调节温控器。用户执行这两个接
口的时候,入口会分别调整冰箱门和温控器的状态。
1.2.3 控制器
控制器就是为了解决上边的问题产生的。控制器就是用户的操作,和冰箱各个组件的正确状态之间的一
座桥梁:当用户打开门的时候,控制器观察到了门的变化,它替用户打开冰箱内的灯;当用户按下温控
器的时候,控制器观察到了用户设置的温度,它替用户管理制冷系统,调节冰箱内温度。
|