Kubernetes中Ingress名字(metadata.name是不可直接修改
在 Kubernetes (k8s) 中,Ingress(和大多数资源一样)名字(metadata.name)是不可变的,不能直接修改
方案 1:导出现有 Ingress → 修改 → 重新创建
1 | # 导出现有 ingress 配置 |
方案 2:一行命令复制
利用 kubectl get ... | kubectl apply -f -,可以少写临时文件:
1 | kubectl get ingress old-ingress-name -n your-namespace -o yaml \ |
然后再删除旧的:
1 | kubectl delete ingress old-ingress-name -n your-namespace |
方案 3:借助 Helm / Kustomize
如果你的 ingress 是由 Helm chart 或 Kustomize 管理的,不要直接 kubectl apply,而是:
- 修改 values.yaml / kustomization.yaml 中的 name
- 重新部署
这样可以保持和后续 CI/CD 流程一致。
总结:
Ingress 名字不能直接 kubectl edit 修改,只能 重新创建一个新的资源(复制配置 + 删除旧的)。