【问题标题】:Helm release to be in custom namespace and not in defaultHelm 发布在自定义命名空间中,而不是默认的
【发布时间】:2021-08-05 05:06:20
【问题描述】:

有没有一种方法可以指定要在自定义命名空间上部署的掌舵版本。 所有 helm 资源都部署在我通过提及创建的自定义命名空间上

namespace: {{ template "plugin.namespace" . }}

这是取自 _helper.tpl

但发布本身是在默认命名空间中

helm ls
NAME                        NAMESPACE   REVISION    UPDATED                                 STATUS      CHART                           APP VERSION
object-storage-plugin   default     3           2021-08-04 15:42:30.833512 +0530 IST    deployed    object-storage-plugin-2.1.2 2.1.2      

我知道通过命令行我们可以设置命名空间,但我正在从一个模板文件中寻找选项,其中命名空间将被选择

我推荐了https://helm.sh/docs/chart_template_guide/getting_started/

使用 helm3 --create-namespace 创建新的命名空间,但 helm uninstall 命令不会删除这个新创建的 NS。

【问题讨论】:

    标签: kubernetes-helm helmfile


    【解决方案1】:

    在正常使用中,您必须使用helm install --namespace 选项来指定 Helm 保存其持久数据的命名空间。无法在文件中指定它。

    同样在正常使用中,您不会在单个 YAML 文件中手动指定 namespace:。资源将自动安装在helm install --namespace 中(就像你kubectl apply --namespace ... -f ... 一样)。你应该只需要namespace: 来进行不寻常的设置,即同一个图表需要在多个命名空间中安装东西; IME 通常仅在您使用 Helm 进行集群级设置时才使用。

    不过,您也将此问题标记为。如果您使用的是Helmfile,那么在helmfile.yaml 文件中,您可以指定要在其中使用的命名空间。 helmfile.yaml 实际上在 YAML 中列出了 helm install 选项,因此您无需再次在模板中指定 namespace:

    # helmfile.yaml
    # (not a plain Helm artifact)
    releases:
      - name: object-storage-plugin
        namespace: object-storage-plugin       # <-- configure this
        chart: ./charts/object-storage-plugin
        values:
          - values.dev.yaml
      # `helmfile apply` will do the equivalent to
      #
      # helm install object-storage-plugin \
      #   ./charts/object-storage-plugin \
      #   -n object-storage-plugin \
      #   -f values.dev.yaml
    

    【讨论】:

      猜你喜欢
      • 2019-06-23
      • 1970-01-01
      • 2021-10-31
      • 2016-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      相关资源
      最近更新 更多