【问题标题】:kubernetes pods are restarting with new IDkubernetes pod 正在使用新 ID 重新启动
【发布时间】:2016-08-22 05:29:23
【问题描述】:

我正在使用的 pod 由 kubernetes 管理。当我使用 docker restart 命令重新启动 Pod 时,有时 Pod 会获得一个新的 id,有时是旧的。当 pod 获得一个新的 id 时,它的状态首先会从 running ->error->crashloopbackoff 开始。谁能告诉我为什么会这样。还有kubernetes多久做一次健康检查

【问题讨论】:

  • 您不应该使用docker 命令接触 Kubernetes 容器。可能 Kubernetes 认为容器死亡并创建了一个新容器。
  • 当 K8S 在一个 pod 死后创建一个新的 pod 时,它将使用一个随机 ID。使用kubectl 管理 k8s 而不是 docker 命令。

标签: kubernetes kubernetes-health-check


【解决方案1】:

Kubernetes 目前使用docker restart 命令有很多原因(例如,保留旧容器的日志)。如果现有容器终止,节点上的守护进程 Kubelet 会创建一个新容器。在任何情况下,用户都不应直接使用 docker 对 Kubernetes 管理的容器执行容器生命周期操作(例如停止、重启),因为这可能会导致意外行为。

编辑:如果您希望 kubernetes 自动重启您的容器,请将您的 pod 规范中的 RestartPolicy 设置为“Always”或“OnFailure”。更多详情请见http://kubernetes.io/docs/user-guide/pod-states/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    • 1970-01-01
    • 2019-09-17
    • 2018-03-04
    • 1970-01-01
    相关资源
    最近更新 更多