1 | +--------------------------------------------------------+ |
节点管理
执行 kubelet --help 的时候,会看到它所支持的可配置参数,其中有一个 --register-node 参数便是用于控制是否向 kube-apiserver 注册节点的,默认是开启的
当 kubeadm join 执行成功后,便可以通过 kubectl get node 查看到新加入集群中的 Node
在节点上通过以下命令查看 kubelet 的状态:
1 | systemctl status kubelet |
查看 Node 信息:
1 | kubectl get nodes | awk '{if(NR>1)print}'| awk {'print $1'} | xargs -I {} kubectl get nodes {} -o yaml |
查看配置文件:
1 | cat /var/lib/kubelet/config.yaml |
配置说明:
https://kubernetes.io/docs/tasks/administer-cluster/out-of-resource/
1 | maxPods:最大的 Pod 数 |
验证方式:
1 | curl 127.0.0.1:10248/healthz |
Pod 管理
kube-scheduler 处理了 Pod 应该调度至哪个 Node,而 kubelet 则是保障该 Pod 能按照预期,在对应 Node 上启动并保持工作
另外 kubelet 其实还承担着清理 Node 上一些由 K8S 调度 Pod 所造成的磁盘占用之类的工作
kubelet 在保障 Pod 能按预期工作,主要是做了两方面的事情:
健康检查:通过 LivenessProbe 和 ReadinessProbe 探针进行检查,判断是否健康及是否已经准备好接受请求。
资源监控:通过 cAdvisor 进行资源监控
kubelet 的作用之一是负责镜像拉取,在镜像方面的错误主要预设了 6 种:
1 | ImagePullBackOff |