上次升级失败时出现此错误。
如果不手动删除所有 Pod 和服务,我就无法升级。
Error: UPGRADE FAILED: rendered manifests contain a new resource that already exists.
Unable to continue with update: existing resource conflict: namespace: ns-xy, name: svc-xy, existing_kind: /v1, Kind=Service, new_kind: /v1, Kind=Service
Run Code Online (Sandbox Code Playgroud)
我尝试过helm upgrade --force但没有成功。
一种解决方案是删除所有已更新的服务和部署,但这时间很长,并且会造成长时间的中断。
如何强制升级?
小智 9
OP 没有提及当前使用的 helm 版本是什么。因此,假设您使用的是 3.1.0 之前的版本:
KIND=deployment
NAME=my-app-staging
RELEASE=staging
NAMESPACE=default
kubectl annotate $KIND $NAME meta.helm.sh/release-name=$RELEASE --overwrite
kubectl annotate $KIND $NAME meta.helm.sh/release-namespace=$NAMESPACE --overwrite
kubectl label $KIND $NAME app.kubernetes.io/managed-by=Helm
Run Code Online (Sandbox Code Playgroud)
这应该告诉 Helm 可以接管现有资源并开始管理它。该过程也适用于 api 升级(例如“apps/v1beta2”更改为“apps/v1”)或在命名空间中加入旧元素。
| 归档时间: |
|
| 查看次数: |
30415 次 |
| 最近记录: |