kubernetes 集群中,在每个 Node 节点(又称 Minion )上都会启动 kubelet 服务进程。 该进程用于处理 Master 节点下发到本节点的任务,管理 Pod及Pod 中的容器。每个kubelet 进程会在 API Server 上注册节点自身信息,定期向 Master 节点汇报节点资源的使用情况 , 并通过cAdvisor 监控容器和节点资源。
节点管理
节点通过设置 kubelet 启动参数 “--rgister-node ”,来决定是否向 API Server 注册自己如果该参数的值为true ,那么 kubelet 将试着通过 API Server 注册自己。在自注册时,kubelet 启动时还包含下列参数。
- --api-servers: API Server 的位置。
- --kubeconfig: kubeconfig 文件,用于访问 API Server 的安全配置文件
如果在集群运行过程中遇到集群资源不足的情况,则用户很容易通过添加机器及运用 kubelet 的自注册模式来实现扩容。
在某些情况下, Kubernetes 集群中的某些 kubelet 没有选择自注册模式,用户需要自己去配 Node 资源信息,同时告知 N ode 上的 kubelet API Server 位置。集群管理者能够创 建和修改节点信息。如果管理者希望手动创建节点信息 ,则通过设 kubelet 的启 动参数“ -- register-node=false ”即 可。
kubelet 在启动时通过 API Server 注册节点信息,并定时向 API Server 发送节点的新消息, API Server 在接收到这些信息后, 将这些信息写入 etcd 。
通 kubelet 的启动参数“-- node-status- update -fre quency 设置 kubelet 每隔多长时间向 API Server 告节点状态 默认为 10s。
-------------------------------------------------------------------------------------------------------------------------
节点管理
节点管理主要是节点自注册和节点状态更新:
- Kubelet 可以通过设置启动参数 --register-node 来确定是否向 API Server 注册自己;
- 如果 Kubelet 没有选择自注册模式,则需要用户自己配置 Node 资源信息,同时需要告知 Kubelet 集群上的 API Server 的位置;
- Kubelet 在启动时通过 API Server 注册节点信息,并定时向 API Server 发送节点新消息,API Server 在接收到新消息后,将信息写入 etcd