创建 Helm 图表扩展现有图表

dju*_*rez 9 gitlab kubernetes kubernetes-helm

我正在使用https://gitlab.com/charts/gitlab在 Openshift 集群上部署图表中包含的某些组件。现在我只想部署包含的 Prometheus 图表。我完成了这个,有一个特定的values.yaml配置。

我想扩展 Gitlab 掌舵图,为此我将其添加为我自己的图表的要求。每当我将前一个添加values.yaml为我的值的子部分时,问题就会出现。

部署上游 Gitlab 图表适用于:

global:
  registry:
    enabled: false
  # Disabling minio still requires to disable gitlab.minio or it will complain about "A valid backups.objectStorage.config.secret is needed"
  minio:
    enabled: false
  ingress:
    enabled: false
    configureCertmanager: false

nginx-ingress:
  enabled: false
registry:
  enabled: false
certmanager:
  install: false
  rbac:
    create: false
...
Run Code Online (Sandbox Code Playgroud)

将我的图表(包括配置)部署为子图表不起作用

global:
  registry:
    enabled: false
  # Disabling minio still requires to disable gitlab.minio or it will complain about "A valid backups.objectStorage.config.secret is needed"
  minio:
    enabled: false
  ingress:
    enabled: false
    configureCertmanager: false


test:
  nginx-ingress:
    enabled: false

  registry:
    enabled: false
  certmanager:
    install: false
    rbac:
      create: false
  ...
Run Code Online (Sandbox Code Playgroud)

我添加了 Gitlab 上游图表作为要求:

dependencies:
- name: gitlab
  # Upgrade manually. Check https://gitlab.com/charts/gitlab/blob/master/requirements.yaml for the new Prometheus chart version.
  version: 1.7.1
  repository: https://charts.gitlab.io/
  alias: test
Run Code Online (Sandbox Code Playgroud)

似乎它没有完全检查我的配置,所以这会创建 serviceAccount 没有权限的对象,在这个过程中失败。certmanager即使在直接部署 Gitlab 图表时它被禁用并且被正确禁用,它仍然会尝试创建相关的对象。

dju*_*rez 4

找到了。子图的需求条件必须在 的第一层指定values.yaml

如果A有B作为子图需求,为了指定B需求条件,您必须在A级别设置它们:

global:
  registry:
    enabled: false
  # Disabling minio still requires to disable gitlab.minio or it will complain about "A valid backups.objectStorage.config.secret is needed"
  minio:
    enabled: false
  ingress:
    enabled: false
    configureCertmanager: false


test:
  nginx-ingress:
    enabled: false

  registry:
    enabled: false
  ...

certmanager:
  install: false
  rbac:
    create: false
  ...
Run Code Online (Sandbox Code Playgroud)