Helm 升级在新子图上失败
Helm upgrade fails on new subchart
升级包含新子图表的图表时 Helm 失败
例如:
chart
/templates
/charts
/sub-1
values.yaml
现在更新了这个图表,并添加了一个新的子图表,其中包含配置图等。
chart
/templates
/charts
/sub-1
/sub-2
/templates
configmap.yaml #config
values.yaml
当我们 运行 helm upgrade <release> <chart> --install
我们不断得到:
Error: UPGRADE FAILED: no ConfigMap with the name "config" found
我的猜测是 helms 试图将它与 config
的 'previous' 版本进行比较,但它尚不存在。因此错误。但是,如果不删除并重新安装图表,我怎么能完成这项工作。这不是生产场景的最佳选择。
我会在您安装 Chart 的任何 Kubernetes 命名空间中创建一个空白的 ConfigMap。
$ kubectl -n <namespace> create cm config
如果它出于某种原因抱怨 data
字段或其他字段不可用,您可以随时创建一个虚拟字段:
$ kubectl -n <namespace> edit cm config
或
$ kubectl -n <namespace> patch cm config -p '{"data": {"dummy": "dummy1"}}'
升级包含新子图表的图表时 Helm 失败
例如:
chart
/templates
/charts
/sub-1
values.yaml
现在更新了这个图表,并添加了一个新的子图表,其中包含配置图等。
chart
/templates
/charts
/sub-1
/sub-2
/templates
configmap.yaml #config
values.yaml
当我们 运行 helm upgrade <release> <chart> --install
我们不断得到:
Error: UPGRADE FAILED: no ConfigMap with the name "config" found
我的猜测是 helms 试图将它与 config
的 'previous' 版本进行比较,但它尚不存在。因此错误。但是,如果不删除并重新安装图表,我怎么能完成这项工作。这不是生产场景的最佳选择。
我会在您安装 Chart 的任何 Kubernetes 命名空间中创建一个空白的 ConfigMap。
$ kubectl -n <namespace> create cm config
如果它出于某种原因抱怨 data
字段或其他字段不可用,您可以随时创建一个虚拟字段:
$ kubectl -n <namespace> edit cm config
或
$ kubectl -n <namespace> patch cm config -p '{"data": {"dummy": "dummy1"}}'