Настройка Портала администратора для нескольких регионов

Примечание

В данной инструкции в качестве базового доменного имени облачной платформы используется cloud.itkey.com и имена сервисов по умолчанию. При выполнении инструкции указывайте ваши действительные имена.

Вы можете подключить дополнительный регион к Порталу администратора, если этот регион был развёрнут с помощью того же LCM-узла или подключён к тому же экземпляру хранилища секретов Vault/Secman.

Требования к подключению произвольного региона включают в себя, но не ограничиваются:

  • если сертификаты подключаемого региона были выпущены другим центром сертификации, потребуется указание дополнительной цепочки сертификатов;

  • сетевая связность подключаемого региона должна обеспечиваться по тем адресам и портам, которые указаны в конфигурации.

Безопасно подключить регионы, использующие отдельные Vault/Secman, нельзя.

Чтобы подключить дополнительный регион к Порталу администратора:

  1. Зайдите на любой Control-узел подключаемого региона по SSH.

  2. Откройте файл adminui-backend-regions.conf. Расположение файла зависит от ОС:

    /etc/kolla/adminui-backend/adminui-backend-regions.conf
    

    Информация из этого файла понадобится позже.

  3. Откройте веб-интерфейс развёрнутого GitLab целевого региона.

  4. Откройте проект project_k / deployments / <имя региона>.

  5. Создайте файл config/adminui/adminui-backend-regions.conf и добавьте в него раздел [DEFAULT] с перечислением регионов, а также раздел для подключаемого региона, заменив параметры соответствующими значениями. Не указывайте в файле динамические параметры, в том числе пароли, в явном виде:

    [DEFAULT]
    region_names=<имя целевого региона>, <имя подключаемого региона>
    
    [<имя подключаемого региона>]
    type=keystack
    prometheus_url=https://<VIP-адрес VictoriaMetrics>:8481/select/0/prometheus
    gitlab_project_name=<имя подключаемого региона>
    gitlab_repo_address=https://ks-lcm.cloud.itkey.com/project_k/devregion
    grafana_url=https://<VIP-адрес Grafana>:3000
    opensearch_url=https://<VIP-адрес OpenSearch>:9200
    kibana_url=/opensearch/_dashboards/
    gitlab_username={{ adminui_gitlab_username }}
    gitlab_password={{ lookup('hashi_vault', 'secret={{ vault_engine }}/data/{{ vault_prefix }}/<имя подключаемого региона>/passwords_yml:adminui_gitlab_password') }}
    gitlab_passthrough_credentials=<значение>
    vault_url={{ vault_addr }}/ui/vault/secrets/{{ vault_engine }}/list/{{ vault_prefix }}/<имя подключаемого региона>
    os_region_name=<имя подключаемого региона>
    os_auth_url=https://<VIP-адрес Портала администратора>:5000
    os_interface=public
    os_endpoint_type=publicURL
    os_username=admin
    os_password={{ lookup('hashi_vault', 'secret={{ vault_engine }}/data/{{ vault_prefix }}/<имя подключаемого региона>/passwords_yml:keystone_admin_password') }}
    os_project_name=admin
    os_project_domain_name=Default
    os_user_domain_name=Default
    keyvrm_endpoint=https://<VIP-адрес KeyVRM>:<порт KeyVRM>
    enable_opensearch=<значение>
    enable_cinder_backup=<значение>
    enable_hostmgmt=<значение>
    enable_octavia=<значение>
    enable_prometheus=<значение>
    enable_grafana=<значение>
    enable_rbac=<значение>
    

    Параметр opensearch_url задаёт адрес программного интерфейса OpenSearch. Параметр kibana_url задаёт путь к веб-интерфейсу OpenSearch.

    Параметр gitlab_passthrough_credentials может иметь разные значения для разных регионов. Значение по умолчанию — false. При значении false для запросов к GitLab используются учётные данные, указанные в параметрах gitlab_username и gitlab_password.

    Значение gitlab_passthrough_credentials укажите в соответствии с конфигурацией подключаемого региона. Параметры enable_* управляют доступностью соответствующих функций в интерфейсе Портала администратора и не включают соответствующие сервисы в регионе. Укажите их значения в соответствии с конфигурацией подключаемого региона.

  6. Создайте новый пайплайн: Build > Pipelines > New pipeline.

  7. Оставьте ветку по умолчанию, соответствующую установленному релизу.

  8. В открывшемся окне добавьте параметр KOLLA_ARGS со значением -t adminui.

  9. Запустите пайплайн: New pipeline.

  10. Дождитесь завершения выполнения операции.

Для увеличения времени ожидания статуса ресурса при межрегиональной миграции высоконагруженных ВМ измените параметр в файле конфигурации:

  1. Откройте файл config/adminUI/adminui-backend-osloconf.conf.

  2. Добавьте или измените параметр interregional_server_migration_resource_status_timeout = 600, указав значение параметра в секундах.

Для применения конфигурации запустите пайплайн развёртывания с параметром KOLLA_ARGS = -t adminui.

Настройка параметров каталога релизов

В файле config/adminUI/adminui-backend-osloconf.conf в репозитории региона настраиваются параметры, определяющие поведение Портала администратора при подборе доступной версии обновления:

  • keystack_release_types — список типов релизов KeyStack, которые Портал администратора учитывает при подборе версии обновления. Задаётся через запятую без пробелов и кавычек; каждый элемент точно сравнивается со значением поля type соответствующего релиза в releases.yml.

  • keystack_repo_branch — имя ветки репозитория project_k/keystack, из которой Портал администратора читает файл releases.yml. Задаётся в виде имени существующей ветки. Параметр не управляет веткой репозитория региона и не влияет на ветку запуска пайплайнов.

  • keystack_releases_yml_redis_ttl — время хранения каталога releases.yml в Redis в секундах перед повторным запросом к источнику. Задаётся положительным целым числом. Чем меньше значение, тем быстрее Портал администратора отражает изменения каталога, но тем чаще обращается к источнику. Новое значение TTL применяется при следующей записи каталога в Redis; уже существующая запись сохраняет прежний срок до истечения.

Пример конфигурации:

keystack_releases_yml_redis_ttl = 600

Для применения конфигурации запустите пайплайн развёртывания с параметром KOLLA_ARGS = -t adminui.

Блокирование сеанса доступа пользователя при отсутствии активности

Портал администратора автоматически блокирует сеанс пользователя после определённого периода отсутствия активности. Продолжительность этого периода задаётся в параметре max_token_downtime — целое число в минутах. Значение по умолчанию — 15.

Для изменения значения параметра выполните следующие действия:

  1. Откройте веб-интерфейс развёрнутого GitLab.

  2. Откройте проект project_k / deployments / <имя региона>.

  3. Откройте файл config/adminUI/adminui-backend-osloconf.conf и добавьте или измените параметр:

    max_token_downtime = <количество минут>
    
  4. Создайте новый пайплайн: Build > Pipelines > New Pipeline.

  5. В открывшемся окне добавьте параметр KOLLA_ARGS со значением -t adminui.

  6. Запустите пайплайн: New pipeline.

  7. Дождитесь завершения выполнения операции.