【问题标题】:Restarting a specific pod inside a Deployment在 Deployment 中重新启动特定的 pod
【发布时间】:2020-01-10 04:06:37
【问题描述】:

我想重新启动一个 pod(这是部署的一部分),而不必重新启动/替换整个部署。

我已经尝试过kubectl replace --force -f file.yaml,但这会重新启动整个部署。我只想重新启动当前处于活动状态的 pod。

感谢任何想法。

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    为什么不只是 kubectl delete pod <pod> ?它将删除您的单个 pod 并在其位置安排新的。

    如果重新调度是个问题,您可以尝试使用 kubectl exec <pod> <container> kill 1 之类的东西来杀死在容器中运行的进程,但有些进程可能不愿意轻易投降 :)

    【讨论】:

    • 是的,第一个命令正是我需要的。我添加了更多内容,以便我可以通过搜索重新启动特定的 pod - kubectl delete pods $(kubectl get pods | grep mypod | cut -d ' ' -f1)。这将有助于查找最后包含所有自动生成内容的特定 pod。
    • kubectl delete pod <pod> 从今天开始。
    【解决方案2】:

    Pod 是 Kubernetes 中的临时资源,无法重启。

    如果您从部署中删除一个 pod,Kubernetes 将尝试通过启动另一个 pod 有效地重新启动您的 pod 来协调部署的状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多