Kubernetes中的Master指的是集群控制节点,每个Kubernetes集群都需要一个Master节点负责整个集群的管理和控制。
Master节点通常会占据一个独立的X86服务器(或虚拟机)。
Master运行一组关键进程:
Kubernetes API Server(kube-apiserver):提供HTTP Rest接口的关键服务进程,是kubernetes里所有资源增删改查等操作的唯一入口,也是集群控制的入口进程。
Kubernetes Controller Manager(kube-controller-manager):所有资源对象的自动化控制中心
Kubernetes Scheduler(kube-scheduler):负责资源调度(Pod调度)的进程
etcd Server:保存kubernetes的资源对象数据
Node
除Master之外,Kubernetes集群中的其他机器称为Node节点,在较早的版本中也称为Minion。
Node可以是一台物理主机,也可以是虚拟机。Node节点是Kubernetes集群中的工作负载节点。
当某个Node宕机时,其上的工作负载会被Master自动转移到其他节点。
Node节点运行一组关键进程:
kubelet:负责Pod对应的容器创建、启停等任务,同时与Master节点密切协作,实现集群管理的基本功能
kube-proxy:实现Kubernetes Service通信与负载均衡机制的重要组件
Docker Engine:Docker引擎,负责本地容器创建和管理工作
Node节点可以在运行期间动态增加到Kubernetes集群,前提是该节点已经正确安装、配置上述进程。
默认,kubelet会向Master注册自己,这是推荐的Node管理方式。当Node纳入集群管理,kubelet会定时向Master节点汇报自身的情报,例如操作系统、Docker版本、机器的CPU和内存情况,Pod运行情况等。当某个Node超过指定时间不能上报信息时,会被Master判定为“失联”,Node的状态被标记为不可用(Not Ready),从而触发Master的工作负载转移流程。
查看集群中Node
kubectl get nodes
查看某个Node的详细信息
kubectl describe node kubernetes-minion1