在Kubernetes集群中,在每个Node(又称为Minion)上都会启动一个Kubelet服务进程。该进程用于处理Master下发到本节点的任务,管理Pod及Pod中的容器。每个Kubelet进程都会在API Server上注册节点自身的信息,定期向Master汇报节点资源的使用情况,并通过cAdvisor监控容器和节点资源。
1.节点管理
节点通过设置kubelet的启动参数“--register-node”,来决定是否向API Server注册自己。如果该参数的值为true,那么kubelet将试着通过API Server注册自己。在自注册时,kubelet启动参数还包含下列参数。
--api-servers:API Server的位置
--kubeconfig:kubeconfig文件,用于访问API Server的安全配置文件
--cloud-provider:云服务商(IaaS)地址,仅用于公有云环境中
kubelet 在启动时通过API Server注册节点信息,并定时向API Server发送节点的新消息,A PI Server在接收到这些信息后,会将其写入etcd中。通过kubelet的启动参数--node-status- update-frequency 可设置kubelet每隔多长时间向API Server报告节点的状态,默认为10s。
2.Pod管理
kubelet主要通过下面三种方式来获取自身Node上要运行的Pod清单:
1.静态Pod配置文件:kubelet通过启动参数--config指定目录下的Po