集群图例
组件介绍
一个 Kubernetes 集群中有 2 种角色,控制节点,计算节点控制节点管理集群中的计算节点,为集群提供故障转移和高可用性。计算节点托管业务应用(Pod)
控制节点组件
kube-apiserver
集群的控制面对外接口组件,该组件公开了对群对外的接口。
kube-scheduler
调度组件,负责新创建还没有绑定计算节点的 Pods,为他选择计算节点,并与之绑定。
kube-controller-manager
控制器进程的管理组件
etcd
etcd 是兼具一致性和高可用性的键值数据库,Kubernetes 集群在运行中所有的网络配置和资源对象的状态信息都保存在这个数据库中。
计算节点组件
kubelet
一个在集群中每个节点(node)上运行的代理。 它保证容器(containers)都运行在 Pod 中。
kubectl 在集群中非常重要,如果 kubelet 出现不可用的情况,node 节点会被降级到 NotReady
常见故障有:服务启动故障、防火墙、没有网络插件等等
常用拍错命令 kubectl、systemctl、journalctl、ping
kube-proxy
kube-proxy 是集群中每个节点上运行的网络代理,实现 Kubernetes 服务(Service) 概念的一部分
kube-proxy 维护节点上的网络规则。这些网络规则允许从集群内部或外部的网络会话与 Pod 进行网络通信
Runtime
容器运行时(Container Runtime),是负责运行启动容器的软件
CRI (容器运行环境接口) ,凡是符合 CRI 标准的容器软件都可以作为 Kubernetes 的最终节点来运行启动容器