[英]Kubernetes pod/container recovery
我是 Kubernetes 的新手,想问两个听起来很基础的问题。
先感谢您。
Kubernetes 不支持节点的自动修复。 但是,它也因云提供商而异。 例如,GKE 具有节点自动修复功能,该功能将监控节点的健康状态并触发自动修复事件(当前为NotReady
节点重新创建节点)。
Kubernetes 是一个容器编排工具,如果 pod 是作为 K8s 对象( Deployments
、 Statefulsets
等)的一部分创建的,它会尝试启动 pod,如果由于某种原因失败,它会提供自动启动策略。 如果你创建一个独立的Pod
资源,Pod 不会在完成后重新启动。 此外,由于您使用docker
来运行容器,因此没有 Kubernetes object 与之关联来处理其生命周期,因此它不会像您观察到的那样启动。
基本上答案是否定的。 Kubernetes 集群无法主动尝试恢复不健康的节点,节点是物理机或虚拟机。 现在,当节点变得不健康时,重新启动节点或修复节点的责任由管理员负责。
kubectl cluster-info dump
:获取集群整体健康的完整信息kubectl get nodes
:要查看可用节点,您可以验证您希望看到的所有节点都存在并且它们都在 Ready state 中。 当 i 容器失败时,它也会导致 pod 失败。 当 pod 失败时,kubernetes 将立即重新启动 pod。 如果你看到 pod yaml by kubectl get pods <pod_name> -o yaml
这个命令,你会看到这里有一个名为ownerReferences
的部分会指定 pod 的所有者,基本上可以ReplicaSet
或者StatefulSet
等pod 失败时的 pod(以保持所需的 pod 数量)。 随着 pod 重新启动,容器也重新启动,因此 kubernetes 尝试修复容器故障。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.