Создание рулевой диаграммы, расширяющей существующую диаграмму

#kubernetes #gitlab #kubernetes-helm

#kubernetes #gitlab #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
...
  

Развертывание моей диаграммы, включая конфигурацию, в виде вложенной диаграммы не работает:

 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.

Ответ №1:

Нашел это. Условия требований для вложенной диаграммы должны быть указаны на первом уровне values.yaml .

Если A имеет B в качестве требования к вложенной диаграмме, чтобы указать условия требования B, вы должны установить их на уровне:

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