#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)