Установите Postre SQL в Кубернетесе с Хелмом 3 - PullRequest
1 голос
/ 07 февраля 2020

У меня есть несколько микросервисов, и один из них должен использовать postre SQL. Я настраиваю этот микросервис с помощью Helm 3. У меня есть два разных значения values.yaml для каждой среды, например values.stage.yaml и values.prod.yaml. Так что путаница заключается в том,

  1. Должен ли я установить или установить независимо Postre SQL? Что я имею в виду, в моем коде scr у меня есть вызов helm / app. Должен ли я создать еще один график для Postre SQL? Как я могу настроить Postre SQL для сред.

2. В будущем, если еще один микросервис захочет использовать тот же Postre SQL, что я должен сделать, чтобы обеспечить эту функцию.

Ответы [ 2 ]

1 голос
/ 07 февраля 2020

Ваша диаграмма должна объявить postgresql как зависимость в Helm 3 в файле Chart.yaml. (В Helm 2 был отдельный requirements.yaml файл .) Вам нужно будет запустить helm dep up (helm dependency update) перед развертыванием своего графика, но затем, когда вы запустите helm install, он установит оба ваше приложение и его зависимость от базы данных.

Таким образом, ваш Chart.yaml может выглядеть примерно как

apiVersion: v2
name: app
...
dependencies:
  - name: postgresql
    version: '^8'
    repository: @stable

(В Helm 3 вам также необходимо helm repo add стабильный репозиторий диаграмм Helm .)

Вы можете настроить базу данных для каждой среды так же, как вы настраиваете остальную часть своего приложения. Настройки базы данных будут вложенными под именем подкарты ; в командной строке вы можете --set postgresql.postgresqlPassword=..., а в YAML-файле вы бы поместили настройки базы данных под ключ postgresql:.

Если у вас есть вторая служба, для которой требуется PostgreSQL, она должна объявить зависимость таким же образом и установить свою собственную независимую копию базы данных. С установкой базы данных внутри контейнеров это не считается особенно тяжелым Если вашим двум службам необходимо обмениваться данными, они должны делать это через сетевое (часто HTTP) соединение, а не путем совместного использования базы данных.

0 голосов
/ 07 февраля 2020

По умолчанию Helm выбирает каталог values.yaml из root диаграммы.

Чтобы установить одну и ту же диаграмму Шлема с другими значениями, вы можете сделать что-то вроде

helm install . -f values.stage.yaml
...