如何更改正在运行的 Pod 名称?

Mau*_*ken 4 kubernetes

  1. 例如。我有 2 个 pod,它们分别称为nginx-111-xxxnginx-111-yyy,但是nginx-111-xxx 出现问题,我需要创建一个新的 pod 来替换它,因为要求您删除nginx -111-xxx,然后是一个新的 pod nginx-111-zzz,我可以用 nginx-111-xxx 重命名 nginx-111-zzz吗?我尝试使用 kubectl edit 命令来实现它,
  2. 但是 Kubernetes 表示 您的更改副本已存储到“/tmp/kubectl-edit-oh43e.ya​​ml”错误:至少更改了 apiVersion、kind 和 name 之一,因此如果有一种方法可以更改正在运行的名称吊舱?在此输入图像描述

Dav*_*man 5

无法更改正在运行的 pod 的名称,因为 API 不会接受此操作。

随机 Pod 名称实际上是您正在使用 Kubernetes 部署,这是在 Kubernetes 上运行 Pod 的默认或最常用的方法。但除此之外,还有不同的方式来安排 Pod。

但是,出于某种原因,您似乎需要更可预测的 Pod 名称。以下是一些方法:

  1. 使用 StatefulSet(https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)。StatefulSet 创建的 Pod 的名称将类似于nginx-01nginx-02 ..
  2. 直接使用 Pod。这样,您将不再拥有复制集、DaemonSet 等的滚动更新功能,但可以绝对控制命名