目录
- 1. 角色与功能
- 2. 工作原理
- 3. 配置与启动
- 4. 安全与认证
- 5. 监控与调试
- 6. 容错与自愈
Kubelet 是 Kubernetes 集群中运行在每个节点上的主要代理程序,负责管理节点上的 Pod 和容器。它是 Kubernetes 与底层操作系统及容器运行时(如 Docker、containerd)之间的桥梁,确保节点上的容器化应用按照 Kubernetes API Server 中定义的状态运行。
1. 角色与功能
-
Pod 管理:Kubelet 负责接收来自 API Server 的 Pod 配置信息,创建、启动、停止、监控和重启节点上的 Pod 及其容器。它确保每个 Pod 中的容器按照定义的规格(如镜像、环境变量、命令、资源限制等)运行,并保持与 API Server 中期望状态的一致性。
-
容器运行时接口:Kubelet 通过 CRI(Container Runtime Interface)与容器运行时通信,执行容器生命周期管理操作,如拉取镜像、创建容器、执行健康检查、收集容器日志和指标等。这种抽象层使得 Kubelet 能够与多种容器运行时兼容。
-
节点状态报告:Kubelet 定期向 API Server 报告节点的状态信息,包括节点的资源使用情况(CPU、内存、磁盘、网络等)、节点条件(如 Ready、OutOfDisk、MemoryPressure 等)、Pod 列表及其状态等。这些信息用于调度决策、资源监控和故障检测。
-
卷管理:Kubelet 负责在节点上挂载 Pod 中定义的 Volume(如 EmptyDir、HostPath、PersistentVolumeClaim