创建扩展现有图表的头盔图表

问题描述 投票:1回答:1

我正在使用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
...

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

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
  ...

我添加了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

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

kubernetes gitlab kubernetes-helm
1个回答
1
投票

找到了。必须在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
  ...
© www.soinside.com 2019 - 2024. All rights reserved.