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