如何将helm图应用于现有资源?

时间:2018-02-19 17:11:43

标签: kubernetes-helm

有没有办法将舵图应用于现有资源?

例如:我已经手动创建了命名空间,现在我想" helmify"它。但是当我将新模板文件添加到我的图表并运行helm upgrade时,我收到错误:

Error: UPGRADE FAILED: no Namespace with the name "ingress-haproxy" found

我看到了这个问题,但它不是很有用:https://github.com/kubernetes/helm/issues/1999

2 个答案:

答案 0 :(得分:0)

手动创建的命名空间是否为“ ingress-haproxy”?

从错误中您似乎可以得到:

  1. 名称空间不存在(也许它略有不同 名称)。
  2. 您以前已经运行过头盔安装,因为否则它将抱怨不存在头盔发布名称。

无论如何,就目前而言,答案是否定的,舵手不支持忽略现有资源。 您可以按照此问题进行任何更新:https://github.com/helm/helm/issues/4824

当前,您唯一的机会是删除所有对象,并通过头盔安装重新创建它们。如果不能接受,则将它们保留在原处,并通过kubectl对其进行管理。通过掌舵图应用并管理所有其他对象。

答案 1 :(得分:0)

是的,您可以将现有资源导入您的掌舵图表。我只用 helm3 测试,所以其他版本可能会有差异,需要你去发现。

  1. 创建您的掌舵修订版(无需现有资源)。
  2. 添加现有资源的标签和注释如下
annotations:
  meta.helm.sh/release-name: <release-name>
  meta.helm.sh/release-namespace: <your namespace>

labels:
  app.kubernetes.io/managed-by: Helm
  1. 掌舵升级<发布>