Установка IVA One
Создание пространства имен (namespace)
Пространство имен в Kubernetes — это инструмент для логического разделения ресурсов одного физического кластера на несколько виртуальных изолированных сред.
Для IVA One необходимо создать пространство имен iva-one, выполнив команду:
sudo kubectl create ns iva-one
Выбор способа загрузки дистрибутива
Выбор способа загрузки дистрибутива зависит от сетевой доступности контура, в котором развертывается IVA One.
Варианты сетевой доступности:
-
серверы IVA One не имеют доступа к сети Интернет
По порту 443 TCP / HTTPS отсутствует доступ к репозиторию контейнеров компании IVA Technologies — https://registry.iva-uc.ru -
если доступен собственный централизованный сервер реестра образов контейнеров, например, Harbor и т. п., то на локальном сервере реестра необходимо создать копию репозитория контейнеров компании IVA Technologies с дистрибутивом IVA One — скопировать с
registry.iva-uc.ruили загрузить из архива для офлайн-установкиПри развертывании IVA One образы контейнеров будут загружаться с локального сервера реестра
-
если недоступен централизованный сервер реестра
-
на каждый сервер кластера IVA One загрузить архив, предназначенный для офлайн-установки
-
загрузить образы контейнеров в окружение Kubernetes
-
-
-
серверы IVA One имеют постоянный доступ к сети Интернет
По порту 443 TCP / HTTPS присутствует доступ к репозиторию контейнеров компании IVA Technologies — https://registry.iva-uc.ru При развертывании IVA One образы контейнеров автоматически загружаются с сервера реестра контейнеров https://registry.iva-uc.ru.
|
Ознакомиться с требованиями к объему свободного места на жестких дисках, необходимого для размещения архивов и образов контейнеров IVA One, можно в соответствующем разделе |
Управление развертыванием из helm-чарта iva-one-helm-chart-X.Y.Z.tgz может выполняться:
-
на любом сервере кластера IVA One (с предварительно установленным менеджером пакетов Helm)
-
на специальном управляющем сервере, если такой уже присутствует в инфраструктуре
Загрузка архива helm-чарта
Порядок выполняемых действий:
-
создать директорию для установки IVA One с помощью команд:
sudo rm -rf /opt/iva/iva-one sudo mkdir -p /opt/iva/iva-one -
выбрать способ и выполнить загрузку helm-чарта:
-
в виде установочного архива iva-one-helm-chart-X.Y.Z.tgz на хост-машину в домашнюю директорию:
-
разархивировать архив helm-чарта в директорию /opt/iva/iva-one с помощью команды:
sudo tar xf iva-one-helm-chart-X.Y.Z.tgz -C /opt/iva/iva-one --strip-components=1
-
-
с сервера реестра:
-
выполнить загрузку установочного архива helm-чарта с помощью команды:
helm pull oci://<REGISTRY_SERVER>/iva/helm/iva-one \ --untar --untardir "<DIRECTORY>" \ --version <VERSION_HELM>где:
-
<REGISTRY_SERVER> — репозиторий контейнеров, например registry.iva-uc.ru
-
<DIRECTORY> — директория для загрузки, например /tmp
-
<VERSION_HELM> — версия helm-чарта, например 2.1.0
-
-
скопировать загруженный helm-чарт в директорию /opt/iva/iva-one, выполнив команду:
sudo cp -rn "<DIRECTORY>/iva-one" /opt/iva
-
-
-
скопировать файл custom-values.yaml в директорию /opt/iva:
sudo cp -n /opt/iva/iva-one/custom-values.yaml /opt/iva/values.yamlВ случае появления ошибок необходимо обратиться к специалистам технической поддержки компании IVA Technologies через сервисный портал
Онлайн-загрузка дистрибутива из централизованного сервера реестра образов контейнеров
Для онлайн-загрузки дистрибутива необходимо предоставить доступ либо к репозиторию контейнеров компании IVA Technologies — https://registry.iva-uc.ru, либо к собственному серверу реестра образов контейнеров в сети клиента.
При загрузке дистрибутива из репозитория контейнеров компании IVA Technologies проведение каких-либо дополнительных настроек не требуется, кроме возможной необходимости в настройке прокси-сервера в ОС.
При загрузке с сервера реестра образов контейнеров клиента необходимо указать адрес данного сервера в файле values.yaml вместо адреса репозитория контейнеров компании IVA Technologies — registry.iva-uc.ru. В некоторых случаях дополнительно необходимо создать секрет для аутентификации в реестре.
Перечень выполняемых действий:
-
создать секрет, выполнив команду:
sudo kubectl create secret docker-registry myregistry-secret \ --docker-server=<SECRET_SERVER> \ --docker-username=<SECRET_USER> \ --docker-password=<SECRET_PASSWORD> \ --docker-email=<SECRET_EMAIL> \ -n iva-oneгде:
-
myregistry-secret — имя секрета
-
<SECRET_SERVER> — адрес сервера реестра, например registry.iva-uc.ru
-
<SECRET_USER> / <SECRET_PASSWORD> — имя (логин) и пароль для аутентификации, например myuser / mypassword
-
<SECRET_EMAIL> — адрес электронной почты (email), связанный с учетной записью, например myemail@example.com
-
iva-one — namespace (пространство имен Kubernetes), в котором будет создан секрет
-
-
указать данные реестра в values.yaml:
global: # Настройки образов для закрытого контура с частным реестром images: # Адрес частного реестра образов. Например: `registry.iva-uc.com` registry: "registry.iva-uc.ru" pullPolicy: IfNotPresent # Kubernetes Secret для авторизации в частном реестре. pullSecrets: [myregistry-secret]
После указанных настроек при выполнении команд helm install / helm upgrade образы будут загружаться с сервера реестра.
Офлайн-загрузка дистрибутива в файловую систему
| Выполняется, если централизованный сервер реестра образов контейнеров недоступен |
| Данный раздел необходимо пропустить при онлайн-загрузке дистрибутива |
Порядок выполняемых действий:
-
загрузить установочный архив iva-one-images-offline-X.Y.Z.tar.gz на хост-машину в домашнюю директорию
-
распаковать архив и загрузить контейнеры из архива в окружение k3s с помощью команды:
gunzip iva-one-images-offline-X.Y.Z.tar.gz sudo ctr --address /run/k3s/containerd/containerd.sock -n=k8s.io images import iva-one-images-offline-X.Y.Z.tar -
убедиться, что загруженные контейнеры стали доступны в окружении k3s:
sudo crictl imagesПример вывода:
IMAGE TAG IMAGE ID SIZE ..... registry.iva-uc.ru/iva/core/id-operator v1.0.0 a304ff5cb9db9 226MB registry.iva-uc.ru/iva/core/id v1.0.0 878b1732f555f 449MB registry.iva-uc.ru/iva/core/link-adapter v0.14.0 b0dacd636bb58 10.1MB registry.iva-uc.ru/iva/core/link-notifications v0.24.0 45bb63c1f3bf4 16.9MB registry.iva-uc.ru/iva/core/presence v0.6.0 b3a401a504235 8.4MB registry.iva-uc.ru/iva/diskstorage 2.12.1 7a8de5a14e5c7 744MB registry.iva-uc.ru/iva/one/address-book v0.10.0 860b1d6b42849 11.4MB registry.iva-uc.ru/iva/one/admin-api-gateway v1.8.0 5d948fe8b966e 19.3MB registry.iva-uc.ru/iva/one/admin-web v4.0.0 20819fad0d5d6 25.1MB registry.iva-uc.ru/iva/one/api-gateway v0.60.0 7d62db78adbfc 12.7MB registry.iva-uc.ru/iva/one/calls v0.53.0 c43a43d060a10 10.9MB registry.iva-uc.ru/iva/one/chats v0.99.0 58ebb6d084e35 25MB registry.iva-uc.ru/iva/one/external/valkey-sentinel 9.0.7 b2444879c89fc 39.5MB registry.iva-uc.ru/iva/one/external/valkey 9.0.7 52c61a4063780 49.8MB registry.iva-uc.ru/iva/one/profiles v0.71.0 1c119871f4acb 11.7MB registry.iva-uc.ru/iva/one/web v2.1.0 d9fbd7a87cb8e 62.2MB registry.iva-uc.ru/iva/webcalls v2.1.0 07b9d901bc93f 27.1MB ..... -
при использовании окружения k3s настроить корректное отображение IP-адресов пользователей:
При использовании внешнего прокси-сервера содержимое файла traefik-real-ip.yaml нужно изменить согласно утвержденным требованиям безопасности sudo cp /opt/iva/iva-one/extra/traefik-real-ip.yaml /var/lib/rancher/k3s/server/manifests/traefik-real-ip.yaml
Установка cert-manager
Cert-manager устанавливается только в случае, если в инфраструктуре Kubernetes отсутствует собственный cert-manager, например для отдельного пилотного развертывания Kubernetes.
| При использовании Kubernetes клиента штатный cert-manager в большинстве случаев уже присутствует и шаг установки cert-manager можно пропустить |
Для установки cert-manager необходимо выполнить следующие команды:
sudo kubectl apply -f /opt/iva/iva-one/deps/cert-manager.crds.yaml
sudo helm install cert-manager `ls /opt/iva/iva-one/deps/cert*.tgz` --namespace cert-manager --create-namespace
Создание секретов для сертификатов
| Секрет — это специальный объект в Kubernetes, предназначенный для безопасного хранения конфиденциальной информации |
|
Для корректной работы системы необходимы валидные сертификаты (Подробнее — см. Требования) |
Секреты для внешних HTTPS-соединений к IVA One
Для создания секретов необходимо скопировать сертификаты в домашнюю директорию и создать секреты для IVA ID и IVA One.
Порядок выполняемых действий:
-
скопировать сертификаты в домашнюю директорию
-
удалить существующий секрет IVA ID (при его наличии) и создать новый с помощью команд:
sudo kubectl delete secret iva-id-tls-secret --ignore-not-found --namespace=iva-one sudo kubectl create secret tls iva-id-tls-secret --cert=tls.crt --key=tls.key --namespace=iva-one -
удалить существующий секрет IVA One (при его наличии) и создать новый с помощью команд:
sudo kubectl delete secret iva-one-tls-secret --ignore-not-found --namespace=iva-one sudo kubectl create secret tls iva-one-tls-secret --cert=tls.crt --key=tls.key --namespace=iva-oneгде:
-
iva-id-tls-secret, iva-one-tls-secret — фиксированные наименования секретов, используемые в настройках в values.yaml helm-чарта
-
tls.crt, tls.key — наименования файлов сертификатов (могут быть произвольными)
-
namespace=iva-one — имя целевого пространства IVA One в Kubernetes (namespace), если оно отличается от имени по умолчанию (default)
-
|
Если для внешних HTTPS-соединений используются сертификаты, выпущенные недоверенным центром, то необходимо:
|
Настройка helm-чарта для установки IVA One
|
Архив helm-чарта распаковывается в отдельную директорию /opt/iva/iva-one. Все дальнейшие действия по настройке выполняются в директории /opt/iva |
Для корректной установки IVA One в файле /opt/iva/values.yaml необходимо указать основные параметры развертывания клиента iva-one, выполнив следующие действия:
| Если для клиентского доступа используются прокси-серверы или внутренняя сеть Kubernetes имеет нестандартное адресное пространство, отличное от 10.42.0.0/16, то необходимо ознакомиться с разделом по настройке параметра развертывания trustedProxies |
-
открыть файл /opt/iva/values.yaml с помощью команды:
sudo nano /opt/iva/values.yaml -
указать параметры развертывания в секции iva
Для секции iva необходимо указать следующие значения параметров:
# Адреса компонентов IVA и настройки внешних интеграций. iva: id: domain: "<IVA_ID_DOMAIN>" # Общий cookie-домен для IVA ID и приложений. authCookieDomain: "<SLD_IVA_DOMAIN>" tlsSecretName: iva-id-tls-secret # Дополнительные Kubernetes Secret с доверенными CA-сертификатами. trustedCaSecrets: [] admin: domain: "<IVA_ONE_ADMIN_DOMAIN>" # Имя существующего TLS Secret для Ingress админ-панели. tlsSecretName: iva-one-tls-secret one: domain: "<IVA_ONE_DOMAIN>" # Имя существующего TLS Secret для Ingress IVA One. tlsSecretName: iva-one-tls-secret-
строка domain — указать наименование домена
Доменное имя совпадает с URL доступа -
строка authCookieDomain — указать домен второго уровня для domain
где:
-
<IVA_ONE_DOMAIN> — доменное имя IVA One, например
one.ivcs.su -
<IVA_ONE_ADMIN_DOMAIN> — доменное имя панели администрирования IVA One, например
admin.ivcs.su -
<SLD_IVA_DOMAIN> — наименование домена второго уровня, указанного в строке domain, например
ivcs.su
-
строка trustedCaSecrets — список имен секретов для корневых центров сертификации, по умолчанию mycompany-ca-truststore
Если секретов несколько, то указать названия через запятую (,) Если для клиентских HTTPS-соединений используются сертификаты, выпущенные недоверенным центром, то необходимо добавить секрет корневого сертификата в доверенное хранилище IVA One:
global: trustedCaSecrets: - iva-selfsigned-ca-secret - myiva-ca-secretгде myiva-ca-secret — имя секрета корневого сертификата, созданного на предыдущем шаге
-
Процесс установки IVA One
Порядок выполняемых действий:
-
перейти в директорию /opt/iva:
cd /opt/iva -
запустить процесс установки из директории /opt/iva, выполнив команду:
sudo helm install iva-one ./iva-one -n iva-one -f values.yamlПример вывода при успешной установке helm-чартов:
Release "iva-one" does not exist. Installing it now. NAME: iva-one LAST DEPLOYED: Wed Jul 16 11:30:38 2025 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: NoneДля сохранения манифестов и включения режима отладки без запуска helm-чартов необходимо воспользоваться командой:
sudo helm upgrade --install iva-one /opt/iva/iva-one -f /opt/iva/values.yaml --namespace iva-one --dry-run --debug > ~/dry-run-output.yaml -
проверить статус развертывания подов (статус pod), выполнив команду:
sudo kubectl get po -A sudo crictl ps -a sudo watch kubectl get po -AСтатусы подов должны быть в состоянии Running.
Статусы подов Completed и Exited также не являются ошибкой развертывания и сообщают об успешной установке
Пример вывода:
Дополнительная информация:
-
подробная информация о статусе подов:
sudo kubectl get all -A -
подробная информация о поде:
sudo kubectl describe po <POD_NAME> [-n <IVA_NAMESPACE>] -
журнал работы пода (логи):
sudo kubectl logs <POD_NAME> [-n <IVA_NAMESPACE>]где:
-
<POD_NAME> — имя пода
-
<IVA_NAMESPACE> — имя целевого пространства IVA ONE (namespace) в Kubernetes. Если имя namespace не задано, то используется имя, установленное по умолчанию — default
-
Все изменения настроек в файле values.yaml и обновление модулей системы выполняются поверх существующей конфигурации с помощью следующей команды (запуск из директории /opt/iva):
sudo helm upgrade iva-one ./iva-one -f values.yaml -n iva-one -
Создание постоянной учетной записи Администратора IVA ID
При развертывании IVA ID автоматически создается учетная запись временного Администратора IVA ID.
Учетные данные по умолчанию
-
логин: admin
-
пароль: admin
Учетная запись Администратора IVA ID необходима для входа в панель администрирования IVA ID.
Для создания постоянной учетной записи Администратора необходимо выполнить следующие действия:
-
войти в панель администрирования IVA ID по адресу https://<IVA_ID_DOMAIN>/admin (где <IVA_ID_DOMAIN> — доменное имя IVA ID)
Если войти в панель администрирования IVA ID не получается, то необходимо проверить наличие доменных имен с IP-адресами серверов IVA One и IVA ID в файле /etc/hosts.
Если данные в файле отсутствуют, то их необходимо добавить в следующем формате:<IP_ADDRESS> <IVA_ID_DOMAIN> <IVA_ONE_DOMAIN>где:
-
<IP_ADDRESS> — IP-адрес сервера, на котором развернуты IVA ID и IVA One
-
<IVA_ID_DOMAIN> — доменное имя IVA ID
-
<IVA_ONE_DOMAIN> — доменное имя IVA One
Пример:
10.0.206.116 id.ivcs.su one.ivcs.su -
-
выбрать пространство (realm) IVA ID master
-
перейти во вкладку Users / Пользователи и нажать кнопку Add user
-
указать логин для создаваемой постоянной учетной записи Администратора в следующей строке:
-
Username / Имя пользователя (обязательный параметр) — логин Администратора, используемый в сервисах IVA One
-
-
сохранить введенные данные, нажав кнопку Create / Создать
-
перейти во вкладку Credentials / Учетные данные и создать постоянный пароль для учетной записи Администратора:
-
нажать кнопку Set password
-
в поле Password ввести пароль
-
в поле Password confirmation повторить введенный пароль
-
переключатель Temporary перевести в положение Off
-
сохранить новый пароль, нажав кнопку Save
-
подтвердить установление нового пароля, нажав кнопку Save password
-
-
перейти во вкладку Role mapping и нажать кнопку Assign role
-
отфильтровать список по Filter by realm roles и выбрать роль admin
-
сохранить выбор, нажав кнопку Assign
-
удалить временную учетную запись Администратора (созданную по умолчанию):
Секрет для клиента IVA One
В панели администрирования IVA ID необходимо задать секрет для клиента iva-one:
-
войти в панель администрирования IVA ID по адресу https://<IVA_ID_DOMAIN>/admin (где <IVA_ID_DOMAIN> — доменное имя IVA ID)
-
выбрать пространство (realm) IVA ID IVA
-
перейти во вкладку Clients и выбрать клиента iva-one
-
перейти во вкладку Credentials
-
сгенерировать новый секрет клиента в строке Client Secret, нажав кнопку Regenerate
-
скопировать новый сгенерированный секрет клиента
Скопированный секрет можно указать в файле конфигурации values.yaml или хранить внутри секрета Kubernetes:
-
указание секрета в файле конфигурации values.yaml:
-
открыть файл конфигурации values.yaml любым редактором (например, nano), выполнив команду:
sudo nano /opt/iva/values.yaml -
вставить скопированный секрет в поле secret:
Пример:
one: domain: "<IVA_ONE_DOMAIN>" id: url: http://iva-id-service:8080 secretName: "" # id.secret secret for iva-one. Ignored if `id.secretName` is set. secret: "<CLIENT_SECRET>"где:
-
<IVA_ONE_DOMAIN> — доменное имя IVA One, например
one.ivcs.su -
<CLIENT_SECRET> — скопированный секрет клиента (пример секрета:
DSNKys16Dhfvwog5ivBh5FhT0TU61YEi)
-
-
-
хранение в секрете Kubernetes:
-
создать секрет и присвоить ему имя с помощью команды:
sudo kubectl create secret generic <KUBERNETES_SECRET_NAME> -n iva-one \ --from-literal=secret="<CLIENT_SECRET>"где:
-
<KUBERNETES_SECRET_NAME> — присваиваемое имя создаваемого секрета, например
iva-one-id-secret-new -
<CLIENT_SECRET> — скопированный секрет клиента (пример секрета:
DSNKys16Dhfvwog5ivBh5FhT0TU61YEi)
-
-
открыть файл конфигурации values.yaml любым редактором (например, nano), выполнив команду:
sudo nano /opt/iva/values.yaml -
вставить имя секрета, созданного Kubernetes, в поле secretName
Пример:
iva: one: domain: "<IVA_ONE_DOMAIN>" id: url: http://iva-id-service:8080 secretName: "<KUBERNETES_SECRET_NAME>" secret: ""где:
-
<IVA_ONE_DOMAIN> — доменное имя IVA One, например
one.ivcs.su -
<KUBERNETES_SECRET_NAME> — имя секрета, созданного в Kubernetes
-
-
-
-
применить обновленную конфигурацию файла values.yaml, выполнив команду:
sudo helm upgrade iva-one /opt/iva/iva-one -f /opt/iva/values.yaml -n iva-one
Подключение к панели администрирования IVA One
В панели администрирования IVA ID необходимо создать пользователя для подключения к панели администрирования IVA One:
-
войти в панель администрирования IVA ID по адресу https://<IVA_ID_DOMAIN>/admin (где <IVA_ID_DOMAIN> — доменное имя IVA ID)
-
выбрать пространство (realm) IVA ID IVA
-
перейти во вкладку Users / Пользователи и нажать кнопку Add user
-
указать логин пользователя в следующей строке:
-
Username / Имя пользователя (обязательный параметр) — логин пользователя, используемый в панели администрирования IVA One
-
-
сохранить введенные данные, нажав кнопку Create / Создать
-
перейти во вкладку Credentials / Учетные данные и создать пароль для учетной записи создаваемого пользователя:
-
нажать кнопку Set password
-
в поле Password ввести пароль
-
в поле Password confirmation повторить введенный пароль
-
переключатель Temporary перевести в положение Off
-
сохранить новый пароль, нажав кнопку Save
-
подтвердить установление нового пароля, нажав кнопку Save password
-
-
перейти во вкладку Role mapping и нажать кнопку Assign role
-
отфильтровать список по Filter by realm roles и выбрать роль iva-admin
-
сохранить выбор, нажав кнопку Assign
После создания пользователя и назначения ему роли необходимо войти в панель администрирования IVA One по адресу https://<IVA_ONE_ADMIN_DOMAIN> (где <IVA_ONE_ADMIN_DOMAIN> — доменное имя панели администрирования IVA One) и аутентифицироваться с данными ранее созданного пользователя
| Если в браузере при открытии отображается белая страница, то необходимо удалить файлы cookie (куки) для домена IVA One |
Управление IVA One в инфраструктуре k3s
Для управления и отладки IVA One в окружении k3s рекомендуется использовать программное обеспечение Lens.
Для подключения Lens к k3s необходимо выполнить следующие действия:
-
на сервере IVA One выполнить команду cat и скопировать ее вывод:
cat ~/.kube/config -
добавить новое подключение к Kubernetes в Lens:
Navigator → Kubernetes Clusters → Local Kubeconfigs → Add kubeconfigs → Paste
-
вставить скопированный вывод команды cat в конфигурацию Lens
-
исправить в конфигурации IP-адрес в строке server для доступа к Kubernetes
-
применить изменения, нажав кнопку Add Clusters
Базовая диагностика IVA One
| В случае появления ошибок необходимо обратиться к специалистам технической поддержки компании IVA Technologies через сервисный портал |
Некорректная распаковка образов контейнеров
Если в процессе установки IVA One распакованные образы контейнеров отсутствуют в системе, необходимо проверить количество свободного дискового пространства:
df -h
|
Свободного дискового пространства должно быть достаточно, чтобы после распаковки образов контейнеров его оставалось не менее 15 % от общего размера дискового пространства. Общее количество дискового пространства должно соответствовать требованиям к параметрам серверов |
Журналы диагностики
При возникновении проблем, возникающих при развертывании и эксплуатации, необходимо проверять журналы работы подов:
-
iva-eventbus-*
-
iva-id-0
-
iva-one-profiles
-
iva-one-api-gateway
-
iva-one-calls
Проблемы при развертывании и запуске
При возникновении проблем во время развертывания и запуска IVA One необходимо выполнить следующие действия:
-
убедиться, что физический сервер / платформа виртуализации соответствуют минимальным аппаратным требованиям для развертывания системы
-
проверить логи работы подов и задач:
sudo kubectl get po -A sudo crictl ps -a sudo watch kubectl get po -A sudo kubectl describe job sudo kubectl describe pod <POD_NAME> sudo kubectl logs <POD_NAME>где <POD_NAME> — имя пода
-
убедиться, что на проблемной и рабочей системах совпадают версии, ID и размеры загруженных образов контейнеров:
sudo crictl images -
проверить статус развертывания pod (статус подов), выполнив команду:
sudo crictl ps -
просмотреть подробную информацию о статусе подов:
sudo kubectl get all -A -
проверить отображение образов контейнеров и событий кластера в Kubernetes с помощью команд:
sudo crictl images sudo kubectl get events
Ingress-контроллер использует самоподписанный сертификат
-
описание проблемы
После выполнения операций установки или обновления (например,
helm install,helm upgrade) Ingress-контроллер (NGINX, Traefik или аналогичный) неожиданно начинает использовать самоподписанный сертификат -
признаки
В логе пода NGINX появляется следующее сообщение:
"SSL fake certificate created" file="/etc/ingress-controller/ssl/default-fake-certificate.pem" -
причина
Ingress-контроллер не получил явного указания, какой сертификат следует использовать по умолчанию. В отсутствие такой настройки контроллер автоматически генерирует собственный самоподписанный сертификат
-
решение
Ingress-контроллер должен понимать, какой сертификат требуется использовать. Для этого необходимо в конфигурации NGINX указать существующий секрет с корректным сертификатом
extraArgs: default-ssl-certificate: <NAMESPACE>/iva-one-tls-secretгде:
-
<NAMESPACE> — имя целевого пространства (namespace) IVA One в Kubernetes, в котором был создан секрет, если оно отличается от имени по умолчанию — default
-
iva-one-tls-secret — секрет типа
type: kubernetes.io/tlsс публичным и приватным ключом
При использовании Kubespray:
ingress_nginx_extra_args: - --default-ssl-certificate=default/iva-one-tls-secretПо окончании настройки необходимо применить конфигурацию и выполнить перезапуск подов Ingress-контроллера.
-
Ingress-контроллер неожиданно начал выдавать ошибку 404 Not Found
Ошибка может возникнуть после неудачных настроек Ingress-контроллера (например, было несколько контроллеров, и один неиспользуемый удалили), а также после выполнения операций установки или обновления IVA One (например, helm install, helm upgrade).
Причин возможной ошибки может быть несколько, но наиболее вероятная — в подах неверно указан ingressClassName.
Для диагностики причины необходимо выполнить команду:
kubectl describe ingress
Далее следует обратить внимание на содержимое следующих полей:
-
Ingress Class -
kubernetes.io/ingress.class
Для решения проблемы необходимо любым способом изменить значение на правильное в каждом конкретном случае (nginx или traefik) и перезапустить под.
Проблемы с разрешением имен внутри Kubernetes
Если доменное имя не разрешается внутри Kubernetes, то необходимо добавить его в ConfigMap CoreDNS.
В следующем примере для имени test.iva.su указан IP-адрес 10.0.200.1
|
-
открыть
ConfigMapCoreDNS:kubectl edit configmap coredns -n kube-system -
добавить IP-адрес и доменное имя в блок
hosts /etc/coredns/NodeHostsфайлаCorefile:hosts /etc/coredns/NodeHosts { 10.0.200.1 test.iva.su ttl 60 reload 15s fallthrough } -
перезапустить CoreDNS:
kubectl rollout restart deployment/coredns -n kube-system -
убедиться, что доменное имя разрешается:
kubectl run -it --rm debug --image=busybox --restart=Never -- nslookup test.iva.su











