Установка доменного имени для API вычислений

С помощью типа трафика API вычислений Кибер Инфраструктура открывает внешнюю оконечную точку, которая прослушивает запросы API OpenStack. По умолчанию она указывает на IP-адрес сервера управления (или его виртуальный IP-адрес, если включена высокая доступность).

В некоторых случаях необходимо изменить все внешние оконечные точки так, чтобы использовалось доменное имя, преобразуемое в IP-адрес сервера управления (или его виртуальный IP-адрес), например, чтобы защитить трафик API OpenStack с помощью SSL-сертификата без поля subjectAltName или чтобы сервис Kubernetes обращался к API вычислений через доменное имя.

Чтобы изменить все внешние оконечные точки так, чтобы использовалось доменное имя

Выполните следующую команду:

vinfra service compute set [--endpoint-hostname <hostname>]
--endpoint-hostname <hostname>

Использовать указанное доменное имя для внешней оконечной точки. Укажите пустое значение в кавычках, чтобы использовать IP-адрес.

Например, чтобы использовать для внешних оконечных точек dns-name.example, выполните следующую команду:

# vinfra service compute set --endpoint-hostname dns-name.example
+---------+--------------------------------------+
| Field   | Value                                |
+---------+--------------------------------------+
| task_id | 534391a2-946a-4406-8dc0-756f161cd595 |
+---------+--------------------------------------+

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

# vinfra task show 534391a2-946a-4406-8dc0-756f161cd595
+---------+------------------------------------------------------------------+
| Field   | Value                                                            |
+---------+------------------------------------------------------------------+
| details |                                                                  |
| name    | backend.presentation.compute.tasks.ReconfigureComputeClusterTask |
| result  |                                                                  |
| state   | success                                                          |
| task_id | 534391a2-946a-4406-8dc0-756f161cd595                             |
+---------+------------------------------------------------------------------+

Чтобы проверить, что вместо IP-адреса сервера управления используется указанное доменное имя, выполните следующие действия.

  1. Создайте или пересоздайте скрипт администратора OpenRC.

    # kolla-ansible post-deploy
    
  2. Запустите скрипт.

    # source /etc/kolla/admin-openrc.sh
    
  3. Выведите список внешних оконечных точек.

    # openstack --insecure endpoint list | grep public
    | 5a845b4b<...> | <...> | https://dns-name.example:8780                    |
    | 7d901686<...> | <...> | https://dns-name.example:8776/v2/%(tenant_id)s   |
    | 44aa0f53<...> | <...> | https://dns-name.example:8774/v2.1/%(tenant_id)s |
    | 0e6d3a39<...> | <...> | https://dns-name.example:9292                    |
    | 0b906e51<...> | <...> | https://dns-name.example:9696                    |
    | 1b68ac7c<...> | <...> | https://dns-name.example:8776/v3/%(tenant_id)s   |
    | d80af756<...> | <...> | https://dns-name.example:8004/v1/%(tenant_id)s   |
    | d0e8c7da<...> | <...> | https://dns-name.example:5000/v3                 |