1.背景
最近在使用 k8s helm 构建项目的时候发现了一个问题,升级失败。
Error: UPGRADE FAILED: cannot patch "mh-crm-admin-v1" with kind Deployment: Deployment.apps "mh-crm-admin-v1" is invalid: spec.selector: Invalid value: v1.LabelSelector{MatchLabels:map[string]string{"app":"mh-crm-admin", "bm-org":"bluemoon", "elk":"true", "version":"v1"}, MatchExpressions:[]v1.LabelSelectorRequirement(nil)}: field is immutable
script returned exit code 1
2.解决过程
在网上查了一些资料,最后在 github 上找到了答案
大概意思就是说,helm 的版本有问题,因为项目处于一个失败的版本,所以在使用 upgrade 命令也失败了,所以需要回滚到正确版本,然后再进行项目部署。
3.解决方案
3.1.首先用helm 查看历史版本
helm history -n mh-crm-parent mh-crm-admin-v1
发现确实有三个失败的版本
2.回滚
helm rollback -n mh-crm-parent mh-crm-admin-v1 79
回滚成功。
再尝试重新部署
发现问题解决