K8S 官方文档
https://kubernetes.io/zh/docs/home
##注重关注 概念和任务 板块。
K8S 集群架构
K8S也是运用了分布式集群架构:
- 管理节点/Master
整个集群的管理,任务协作。 - 工作节点/Node
容器运行、删除。
K8S 组件介绍
- 管理节点/Master 相关组件
kube-APIServer
集群统一入口,所有组件的协调者,内部以RESTful API 提供接口服务,所有对象资源的增删改查和监听操作都是提交给APIServer出后再转入Etcd存储。
kube-controller-manager
处理集群中常规后台任务,一个资源对应一个控制器,而ControllerManager就是负责管理这些控制器的。例如Deployment、Service
kube-scheduler
根据调度算法为新创建的Pod选择一个Node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同节点上。、
etcd
分布式键值存储系统,用于保存集群状态数据,比如Pod、Service等对象信息。
注:etcd并非k8s技术,两者没有依赖关系,只是通过网络连接、apiserver可以连接ectd就可正常使用。
- Node节点 相关组件
kubelet
是Master节点在Node节点上的Agent,管理本机运行容器的生命周期,比如创建容器、Pod挂载数据卷、下载secret、获取容器和节点状态等。kubelet将每个Pod转换成一组容器,并非容器引擎,无法直接创建引擎。
kube-proxy
在Node节点上实现Pod网络代理,负责容器的网络访问,维护网络规则和四层负载均衡工作。
第三方容器引擎
例如docker、containerd、podman,kubelet通过容器引擎运行容器。