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"}}'