0

我已经使用 helm chart 安装了 Prometheus,所以我列出了 4 个部署文件:

  • prometheus-alertmanager
  • 普罗米修斯服务器
  • 普罗米修斯推送网关
  • prometheus-kube-state-metrics

部署文件的所有 pod 都在相应地运行。我错误地使用以下命令重新启动了一个部署文件:

kubectl rollout restart deployment prometheus-alertmanager

现在一个新的 pod 正在创建并崩溃,如果我删除部署文件,那么以前的 pod 也会被删除。那么我可以为那个 crashLoopBackOff pod 做些什么呢?

kubectl 输出截图

4

2 回答 2

0

这两个 Pod(一个正在运行,另一个 crashloopbackoff)属于不同的部署,因为它们的后缀不同,即:属于同一个部署模板,但是pod1-abc-123属于不同的部署。pod2-abc-456pod1-abc-123pod2-def-566

部署将创建一个副本集,确保删除相应的旧副本,kubectl get rs | grep 99dd然后删除那个副本,类似于普罗米修斯服务器。

于 2020-10-13T12:55:10.203 回答
0

您可以使用以下命令简单地删除该 pod,kubectl delete pod <pod_name>或者尝试使用以下命令删除所有处于crashLoopBackOff状态的 pod:

kubectl delete pod `kubectl get pods | awk '$3 == "CrashLoopBackOff" {print $1}'`

确保相应的部署设置为 1 个副本(或任何其他选择的数量)。如果您删除该部署的一个 pod,它将创建一个新的,同时保持所需的副本数。

于 2020-10-13T09:27:48.253 回答