Установка и настройка
Helm chart
Внимание
Версии 0.x.x несовместимы с версией Helm chart >= 1.0.0. Перед обновление обязательно сделайте резерную копию данных. Для обновления до версии 1.0.0 необходимо:
# Удалить существующий релиз (сохранив Persistent Volumes!)
helm -n my-namespace uninstall teamstorm
redis:
enabled: true
migrateUser: true
minio:
enabled: true
migrateUser: true
rabbitmq:
enabled: true
migrateUser: true
migrateUser: false
.
Helm chart выпускается для каждой версии TeamStorm teamstorm_helm_v3.x.y.tgz
.
В файле Chart.yaml
указывается версия helm chart version
и версия TeamStorm appVersion
.
Все изменения добавляются в файл CHANGELOG.md
.
В журнале указывается изменения для каждой версии релиза:
- Общие изменения в релизе;
- Изменения по каждому сервису;
Установка
Распакуйте каталог teamstorm
из архива teamstorm_helm_v3.x.y.tgz
Внимание
Docker образы предоставляются в архиве с релизом teamstorm_v3.x.y.tgz
Перед установкой необходимо загрузить их на каждую ноду kubernetes
В values.yml
заданы параметры по умолчанию.
Создайте свой файл с параметрами values_teamstorm.yml
и добавьте минимальный набор параметров для установки.
# При использовании ingress-nginx
ingress:
enabled: true
# Укажите ingressClassName
className: nginx
# Для https укажите сертификат, если нужен только 80 порт, то tls не указывается.
tls:
- secretName: tls-secret
hosts:
- teamstorm.example.com
# В глобальных настройках обязательно указывается
global:
# Если docker образы были загружены в docker registry то укажите его
image:
repository: "docker.example.com/teamstorm"
# URL TeamStorm
url: "https://teamstorm.example.com"
hostname: "teamstorm.example.com"
# Для настройки размера дисков указывается size и storageClass (если не задан по умолчанию в kubernetes).
minio:
persistence:
storageClass: "storage class"
size: 10Gi
postgres:
persistence:
storageClass: "storage class"
size: 5Gi
rabbitmq:
persistence:
storageClass: "storage class"
size: 1Gi
redis:
persistence:
storageClass: "storage class"
size: 1Gi
Теперь можно установить teamstorm указав свой values.yml
, пространство имен my-namespace
, релиз teamstorm
и путь к helm chart helm-chart-dir
.
helm upgrade --install -f values_teamstorm.yml -n my-namespace --wait --create-namespace teamstorm helm-chart-dir
Дополнительные настройки
Настройка выделения ресурсов для сервисов
Для каждого сервиса указана переменная resources
с ресурсами по умолчанию.
Для того чтобы включить ограничение ресурсов, необходимо убрать комментарий с настройками выделения ресурсов для каждого сервиса.
Настройка секретов
Для каждого сервиса учетные данные указаны по умолчанию. Их можно переопределить,
указав свои данные в переменной global.<service>
или подключить существующие секреты.
Для использования существующих секретов необходимо:
- Указать имя секрета в параметре
existingSecret
. - Убедиться, что в секрете присутствуют ключи, указанные в примере
values.yaml
.
Приоритет загрузки учетных данных:
- Если указан
existingSecret
, данные будут браться из него. - Если
existingSecret
не задан, используются значения изvalues.yaml
.
Пример:
Допустим, существует секрет с именем my-secret
, содержащий пароль для rabbitmq
с ключом rmqPassword
.
Секрет задан в параметре global.rabbitmq.existingSecret
В этом случае приложение будет использовать пароль из my-secret
для доступа к rabbitmq
.
Добавление CA сертификатов
Для добавления CA сертификатов необходимо указать переменную global.cert.ca
или существующий секрет со списком сертификатов global.cert.existingSecretCA
.
global:
certs:
ca:
- name: ca.crt
cert: |
-----BEGIN CERTIFICATE-----
MIIDWTCCAkGgAwIBAgIUWUGdGGsp/Au80+nYqQ2PNNbuOfswDQYJKoZIhvcNAQEL
BQAwPDETMBEGA1UEAwwKTXkgUm9vdCBDQTEYMBYGA1UECgwPTXkgT3JnYW5pemF0
aW9uMQswCQYDVQQGEwJVUzAeFw0yNTA2MjQxMzM1MDJaFw0zNTA2MjIxMzM1MDJa
MDwxEzARBgNVBAMMCk15IFJvb3QgQ0ExGDAWBgNVBAoMD015IE9yZ2FuaXphdGlv
bjELMAkGA1UEBhMCVVMwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQC1
HpRQN72sRFJtnE/XedAKnjwXfl1wBXXP9jlxWnFdRiqM6YGtt8Df4EzBmfzuhlfK
8kYMQkCFZPUcsKs+7/DJFTczLm9APY004lSptcXpcDEtIW7w8bOcCFp+of4F4DAJ
GgYB3DNqucYkrZZHfmvoEeDnpBmR2uriJ4fmK1kSpcnLVqobc+CFP/d4hf3hV0Nn
v3wKcJt1YeQ09/1RzoR/b9PYME9E5c5bY4q/k5yl7+JXv6LlO5mV7NTP6PP109ql
eXXjCLOIg2vzuNMt0mbK2uzyO/1Y0k0r60rX9ZDFNDnD1jzqbpsMBcS4o/RxZYHm
VPcEWGAM6cCg9mCMYonxAgMBAAGjUzBRMB0GA1UdDgQWBBTgv3IIwoTAWOj8x2BT
ERXee9zsoDAfBgNVHSMEGDAWgBTgv3IIwoTAWOj8x2BTERXee9zsoDAPBgNVHRMB
Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAS44wcHHy2aJkQRiox2Ej1xEKZ
hn0GSIkMW6NOlztivsntfFJ7G2YJeY8QIC+bqxya9+yanoqF/IVnnqz5opht54qE
gnPUuBmE7FM0OTNauQtjoFftfN2J9qTJmaaL1xUiex0ltJIYCw6XH0vKsd4spRWw
pu/NEL9XSazr/52360BORT0bhM37YB7MXUbnY9CeYYaSBtYtlCTCqE0AvTpD/ZS7
1xHu+ojTEmfVI13/Gbq5mi/eIfZrNF2x9LPwT5v5hSiBkWqrvjK5rLqbcnXOL/B1
lGnNDsHvPTaKswVRLOtJOMjxkW+8KkPZOmIeLwtqK9W0ljeND3Igg/NlXJoU
-----END CERTIFICATE-----
Включение метрик prometheus
Для включения метрик prometheus используется servicemonitor.
Дополнительные настройки сервисов
Настройки деплоя сервисов задаются в параметрах, соответствующих их именам. Дополнительно можно настроить переменные окружения или подключение файлов через монтирование.