Зонтичная диаграмма Bitnami — вложенная диаграмма для нескольких приложений

#kubernetes #kubernetes-helm #bitnami

#kubernetes #kubernetes-рулевой #bitnami

Вопрос:

Я использую диаграммы helm bitnami для развертывания своего приложения в kubernetes.

Мое приложение содержит следующие 3 компонента,

Веб-интерфейс Веб-API 1 Веб-API 2 Здесь веб-интерфейс — это статическое приложение пользовательского интерфейса на сервере nginx, а веб-API 1 и веб-API 2 — это основное приложение веб-API aspnet, вызываемое в приложении веб-интерфейса.

В настоящее время выполняется развертывание, подобное приведенному ниже,

Веб-интерфейс с использованием диаграммы nginx —https://hub.helm.sh/charts/bitnami/nginx

 helm install web-ui-dev bitnami/nginx
  

Веб-API 1 с использованием aspnet-базовая диаграмма —https://hub.helm.sh/charts/bitnami/aspnet-core

 helm install web-api1-dev bitnami/aspnet-core
  

Веб-API 2 также использует ту же диаграмму aspnet-core

 helm install web-api2-dev bitnami/aspnet-core
  

Поскольку мое приложение зависит от 3 компонентов, я планирую использовать зонтичную диаграмму helm.
Итак, создана родительская диаграмма (скажем, ‘ag’) с приведенными ниже зависимостями на диаграмме.файл yaml и значения in.yaml, дающий все значения вложенной диаграммы.

 dependencies:
    - name: nginx
      version: 6.2.0
      repository: https://charts.bitnami.com/bitnami
    - name: aspnet-core
      version: 0.2.0
      repository: https://charts.bitnami.com/bitnami
  

Но проблема здесь в том, что я не мог использовать диаграмму aspnet-core для развертывания как Web API 1, так и Web API 2 в одной команде helm install для диаграммы umbrella.

Когда я говорю, что helm install dev ag не устанавливает все 3 компонента, я могу либо развернуть Web API 1, либо Web API 2.

Есть идея сделать эту работу с использованием единой установки зонтичной диаграммы helm для развертывания нескольких приложений с одной и той же диаграммой.

Спасибо.

Ответ №1:

вы можете использовать псевдоним в своем файле зависимостей. вот так.

     - name: nginx
      version: 6.2.0
      repository: https://charts.bitnami.com/bitnami
    - name: aspnet-core
      version: 0.2.0
      repository: https://charts.bitnami.com/bitnami
      alias: web-api1-dev
    - name: aspnet-core
      version: 0.2.0
      repository: https://charts.bitnami.com/bitnami
      alias: web-api2-dev
  

Затем используйте псевдонимы в своих основных значениях.файл yaml.

Комментарии:

1. это работает, спасибо. У меня есть еще 1 диаграмма, которая не размещена в репозитории. Есть идеи, как использовать тот же файл chart.tgz в качестве зависимого для нескольких приложений.

2. вы можете использовать путь к файлу для этого вместо URL. храните свои диаграммы в той же папке, в том же репозитории и т.д. repository: file://../.../your_chart_folder

Ответ №2:

Пожалуйста, обратитесь к документации Helm.

Добавление псевдонима для диаграммы зависимостей приведет к тому, что диаграмма в зависимостях будет использовать псевдоним в качестве имени новой зависимости.

Можно использовать псевдоним в тех случаях, когда им необходимо получить доступ к диаграмме с другими именами.

В настоящее время развертывается, как показано ниже … Веб-интерфейс использует диаграмму nginx, веб-API 1 использует диаграмму ядра aspnet, веб-API 2 также использует ту же диаграмму ядра aspnet

Кроме того, документация дает представление о tags и condition , чтобы вы могли включать / отключать установку диаграмм (что потенциально может разделить ваши API)