标杆徐Kubernetes入门与进阶《助力CKA与CKS》 学习总结
什么是 Kubernetes
Kubernetes 致力于提供跨主机集群的自动部署、扩展、高可用以及运行应用程序容器的平台,其遵循主从式架构设计,其组件可以分为管理单个节点(Node)组件和控制平面组件,可对集群进行的操作包括部署,调度和集群节点扩展。
Kubernetes Master是集群的主要控制单元,用于管理其工作负载并指导整个系统的通信。
Kubernetes 核心组件
etcd :分布式键值存储系统。用于保存集群状态,比如Pod、Service等对象信息。
apiserver : 提供了资源操作的唯一入口,各组件协调者,并提供认证、授权、访问控制、API注册和发现等机制;以 HTTPAPI 提供接口服务,所有对象资源的增删改查和监听操作都交给 APIServer 处理后再提交给 Etcd 存储
controller manager : 负责维护集群的状态,比如故障检测、自动扩展、滚动更新等;处理集群中常规后台任务,一个资源对应一个控制器,而 ControllerManager 就是负责管理这些控制器的。
scheduler : 负责资源的调度,按照预定的调度策略将Pod调度到相应的机器上;
kubelet : kubelet 是 Master 在 Node 节点上的 Agent,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、下载secret、获取容器和节点状态等工作。kubelet 将每个Pod 转换成一组容器。负责维护容器的生命周期,同时也负责Volume(CVI)和网络(CNI)的管理;
Container runtime : 负责镜像管理以及Pod和容器的真正运行(CRI);
kube-proxy : 负责为Service提供cluster内部的服务发现和负载均衡;在 Node 节点上实现 Pod 网络代理,维护网络规则和四层负载均衡工作。
