Дополнительные настройки helm-чарта
Создание секретов
| Секрет — это специальный объект в Kubernetes, предназначенный для безопасного хранения конфиденциальной информации |
|
Чтобы применить обновленную конфигурацию файла values.yaml, необходимо выполнить команду:
|
|
Для корректной работы системы необходимы валидные сертификаты (Подробнее — см. Требования) |
Секреты корневого центра сертификации в IVA ID
| Необязательный параметр |
К IVA ID по защищенному TLS-соединению могут быть подключены внешние сервисы (например, LDAP-каталог), использующие сертификаты, выданные сторонними корневыми центрами.
Сертификаты этих центров должны быть добавлены в хранилище корневых сертификатов IVA ID.
Каждый сертификат корневого центра хранится в своем секрете.
Для создания секрета для хранения сертификата корневого центра необходимо выполнить команду:
sudo kubectl create secret generic mycompany-ca-truststore -n default --from-file=ca.crt=rootCA.crt
где:
-
mycompany-ca-truststore — название секрета
-
rootCA.crt — файл с сертификатом корневого центра
Если требуется использовать сертификаты нескольких корневых центров, то необходимо создать свой секрет для каждого сертификата, выполнив команду:
sudo kubectl create secret generic mycompany-ca-truststore-2 -n default --from-file=ca.crt=rootCA-2.crt
где:
-
mycompany-ca-truststore-2 — название секрета
-
rootCA-2.crt — файл с сертификатом корневого центра
Секрет для прокси-сервера пуш-уведомлений
| Необязательный параметр |
IVA One поддерживает отправку пуш-уведомлений через провайдеров APNs, FCM и WebPush с использованием корпоративного прокси-сервера. Прокси-сервер используется для всех исходящих соединений к внешним пуш-сервисам.
Особенности использования прокси-сервера пуш-уведомлений:
-
поддерживаются схемы http и https
-
поддерживается Basic Authentication (в формате
http://user:pass@host:port)
Для возможности использования прокси-сервера, необходимо предварительно создать секрет с URL-строкой подключения, выполнив команду:
sudo kubectl create secret generic iva-one-push-proxy -n default \
--from-literal=url=https://<USERNAME>:<PASSWORD>@<PROXY_DOMAIN>:<PORT>
где:
-
iva-one-push-proxy — название секрета для хранения URL-строки подключения
-
<USERNAME>:<PASSWORD> — имя пользователя и пароль для аутентификации на прокси-сервере
-
<PROXY_DOMAIN>:<PORT> — FQDN прокси-сервера и порт подключения, например,
proxy.company.com:8080
Секреты клиентов
Секреты клиентов IVA One, IVA Mail, IVA MCU и Grafana рекомендуется хранить в секретах Kubernetes.
Порядок выполняемых действий:
-
создать секреты с помощью команды:
# IVA One sudo kubectl create secret generic iva-one-id-secret -n default \ --from-literal=secret=<CLIENT_SECRET_IVA_ONE> # IVA Mail kubectl create secret generic iva-mail-jump-secret -n default \ --from-literal=username='admin' \ --from-literal=password='admin' # IVA MCU kubectl create secret generic iva-mcu-app-secret -n default \ --from-literal=appSecret=<CLIENT_SECRET_IVA_MCU> #grafana kubectl create secret generic iva-one-grafana-custom -n default \ --from-literal=admin-user='<ADMIN_USER>' \ --from-literal=admin-password='<ADMIN_PASSWORD>'-
iva-one-id-secret — название секрета клиента IVA One
-
iva-mail-jump-secret — название секрета клиента IVA Mail
-
iva-mcu-app-secret — название секрета клиента IVA MCU
-
iva-one-grafana-custom — название секрета клиента Grafana
-
<CLIENT_SECRET_IVA_ONE> — скопированный в веб-панели администрирования IVA ID секрет клиента IVA One
-
<CLIENT_SECRET_IVA_MCU> — скопированный в веб-панели администрирования IVA ID секрет клиента IVA MCU
-
admin — логин и пароль Администратора IVA Mail (значения, установленные по умолчанию)
-
<ADMIN_USER> — логин Администратора для доступа в Grafana
-
<ADMIN_PASSWORD> — пароль Администратора для доступа в Grafana
-
-
указать названия секретов клиентов в соответствующих секциях в файле конфигурации values.yaml:
-
открыть файл /opt/iva/values.yaml с помощью команды:
sudo nano /opt/iva/values.yaml -
указать названия секретов в секции iva соответствующих полях:
-
one — для клиента IVA One
-
mail — для клиента IVA Mail
-
mcu — для клиента IVA MCU
-
grafana — для клиента Grafana
iva: one: id: ... secretName: &iva_one_id_secret_name "iva-one-id-secret" ... mail: jump: ... secretName: &iva_mail_jump_secret_name "iva-mail-jump-secret" ... mcu: ... secretName: &iva_mcu_secret_name "iva-mcu-app-secret" ... grafana: enabled: *grafana_embedded ... admin: existingSecret: "iva-one-grafana-custom" ...
-
Если имена секретов не указаны — установлено значение
"", то будут использоваться значения, явно заданные в соответствующих полях в файле конфигурации values.yaml, либо созданные Kubernetes автоматически. -
Настройка дополнительных параметров развертывания
При установке IVA One доступна настройка следующих дополнительных параметров развертывания:
Параметр развертывания trustedProxies
| Необязательный параметр |
В значениях параметра trustedProxies указывается список доверенных прокси-серверов обслуживающих клиентские соединения. IP-адреса доверенных прокси-серверов удаляются из HTTP-заголовков, в результате остается только реальный IP-адрес клиента.
Порядок выполняемых действий:
-
открыть файл /opt/iva/values.yaml с помощью команды:
sudo nano /opt/iva/values.yaml -
для настройки параметра trustedProxies необходимо указать адреса прокси-серверов или их подсеть:
presets: trustedProxies: &trusted_proxies ["10.42.0.0/16", "127.0.0.1", "172.16.0.0/12"]Сеть "10.42.0.0/16"является внутренней сетью k3s и используется по умолчанию для сетевой связности между подами.
Данную сеть исключать нельзя!Если прокси-сервера не используются, то необходимо оставить только внутреннюю сеть k3s, используемую по умолчанию:
presets: trustedProxies: &trusted_proxies ["10.42.0.0/16"]
Настройка EventBus
| Обязательный параметр |
При выборе типа сервиса NodePort в качестве порта доступа к служебному каналу Федерации (шине NATS) для параметра externalPort необходимо указывать значения из диапазона от 30000 до 332767 — по умолчанию установлено значение 32222.
eventbus:
serviceType: NodePort # Use LoadBalancer for HA clusters; NodePort is suitable for simple setups
externalPort: 32222 # For NodePort; can be left empty if using LoadBalancer
loadBalancerIP: "" # Optional: Specify a static IP for LoadBalancer; leave empty for automatic assignment
При выборе типа сервиса LoadBalancer используется фиксированный номер порта 4222, а значение, указанное в параметре externalPort, игнорируется.
В качестве значения параметра loadBalancerIP явным образом указывается IP-адрес внешнего балансировщика, в ином случае IP-адрес назначается автоматически из перечня доступных IP-адресов.
Прокси-сервер пуш-уведомлений
| Необязательный параметр |
Чтобы использовать прокси-сервера пуш-уведомлений, необходимо задать URL в секрете, который был указан в секрете для прокси-сервера пуш-уведомлений и задать значение true в секции link-notifications.
Порядок выполняемых действий:
-
открыть файл /opt/iva/values.yaml с помощью команды:
sudo nano /opt/iva/values.yaml -
выполнить настройку секции link-notifications:
link-notifications: config: proxy: enabled: true