Установка и настройка
Для установки в kubernetes существуют 2 helm чарта:
- teamstorm-infra - инфраструктурные сервисы;
- teamstorm - приложение;
Установка
Перед установкой ознакомьтесь с публичными репозиториям.
Для онлайн установки подключитесь к нашим репозиториям docker и helm.
Для оффлайн установки необходимо скачать комплекты поставки с docker образами teamstorm_v4.x.y.tgz
и helm чартами teamstorm_helm_4.x.y.tgz и teamstorm_infra_helm_4.x.y.tgz.
Настройки по умолчанию заданы в файле values.yaml.
Установка teamstorm-infra
Создайте свой файл с параметрами values_teamstorm_infra.yaml и добавьте минимальный набор параметров для установки.
global:
# При необходимости замените на свой docker репозиторий с ранее загруженными образами из комплекта поставки.
image:
repository: "registry.example.com"
# Секрет для доступа к docker репозиторию.
imagePullSecrets:
- name: teamstorm-regcred
minio:
enabled: true
persistence:
size: 10Gi
postgres:
enabled: true
persistence:
size: 5Gi
pgbouncer:
replicas: 1
rabbitmq:
enabled: true
persistence:
size: 1Gi
redis:
enabled: true
persistence:
size: 1Gi
gotenberg:
enabled: true
replicas: 1
Теперь можно установить teamstorm-infra указав свой values_teamstorm_infra.yaml.
# Для онлайн установки
helm upgrade --install -n teamstorm -f values_teamstorm_infra.yaml --version VERSION --wait --create-namespace teamstorm-infra teamstorm/teamstorm-infra
# Для оффлайн установки
helm upgrade --install -n teamstorm -f values_teamstorm_infra.yaml --wait --create-namespace teamstorm-infra teamstorm-infra/
Установка teamstorm
# Секрет для доступа к docker репозиторию.
imagePullSecrets:
- name: teamstorm-regcred
# При использовании ingress-nginx
ingress:
enabled: true
# Укажите ingressClassName
className: nginx
# Для https укажите сертификат, если нужен только 80 порт, то tls не указывается.
tls:
- secretName: tls-secret
hosts:
- teamstorm.example.com
# В глобальных настройках обязательно указывается
global:
# При необходимости замените на свой docker репозиторий с ранее загруженными образами из комплекта поставки.
image:
repository: "registry.example.com"
# URL TeamStorm
url: "https://teamstorm.example.com"
hostname: "teamstorm.example.com"
Теперь можно установить teamstorm указав свой values_teamstorm.yaml.
# Для онлайн установки
helm upgrade --install -n teamstorm -f values_teamstorm.yaml --version VERSION --wait --create-namespace teamstorm teamstorm/teamstorm
# Для оффлайн установки
helm upgrade --install -n teamstorm -f values_teamstorm.yaml --wait --create-namespace teamstorm teamstorm/
Дополнительные настройки
Настройка выделения ресурсов для сервисов
Для каждого сервиса указана переменная 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.
Дополнительные настройки сервисов
Настройки деплоя сервисов задаются в параметрах, соответствующих их именам. Дополнительно можно настроить переменные окружения или подключение файлов через монтирование.