第五章 Pod 控制器

自主式 Pod 对象由调度器绑定至工作节点后即由相应节点上的 kubelet 负责监控其容器的存活性,容器主进程崩溃后,kubelet 能够自动重启相应的容器。不过,kubelet 对非主进程崩溃类的容器错误却无从感知,这依赖于用户为 Pod 资源对象自定义的存活性探测(liveness probe)机制,以便kubelet 能够探知到此类故障。然而,在 Pod 对象遭到意外删除,或者工作节点自身发生故障时,又该如何处理呢?

kubelet 是 kubernetes 集群节点代理程序,它在每个工作节点上都运行着一个实例。因而,集群中的某工作节点发生故障时,其 kubelet 也必将不再可用,于是,节点上的 Pod 资源的健康状态将无从得到保证,也无法再由 kubelet 重启。此种场景重的 Pod 存活性一般由工作节点之外的 Pod 控制器来保证。事实上,遭意外删除的 Pod 资源的恢复也依赖于其控制器。

Pod 控制器由 master 的 kube-controller-manager 组件提供,常见的此类控制器有 Replication Controller、ReplicaSet、Deployment、DaemonSet、StatefulSet、Job 和 CronJob 等,它们分别以不同的方式管理 Pod 资源对象。实践中,对 Pod 对象的管理通常都是由某种控制器的特定对象来实现的,包括其创建、删除即重新调度等操作。本章将逐一讲解常用的 Pod 控制器资源。

results matching ""

    No results matching ""