Интеграция с внешними системами
В рамках интеграции с корпоративным каталогом (AD) Платформа отсылает информацию о виртуальной машине (далее — ВМ) для обеспечения создания данной ВМ в соответствующем корпоративном каталоге Заказчика.
На информацию, отправляемую о ВМ, оказывают влияние следующие действия пользователей:
- создание / удаление ВМ;
- подключение / отключение сетевого интерфейса;
- изменение приватного DNS имени сетевого интерфейса.
- При создании ВМ Платформой формируется информация о созданной ВМ и отправляется в сторону Интеграционного сервиса, который создаст необходимые записи в корпоративном каталоге.
- При удалении ВМ Платформой формируется информация об удаленной ВМ и отправляется в сторону Интеграционного сервиса, который удалит необходимые записи в корпоративном каталоге.
- При изменении FQDN Платформой формируется информация об измененной ВМ и отправляться в сторону Интеграционного сервиса, который выполнит необходимые действия в корпоративном каталоге.
Структурно информация AD состоит из двух словарей с данными о группе и сервере. В текущей реализации на каждый сервер создается собственная группа в корпоративном каталоге. При этом на стороне Интеграционного сервиса данное поведение может быть изменено соответствующими настройками сервиса.
hostname | FQDN первого сетевого интерфейса ВМ (детали см. в CMDB) |
operating_system | Рассчитывается маппингом по настроечной таблице исходя из метадаты |
members | Список, единственный элемент которого — имя пользователя (из Keystone), создавшего ВМ, с заданным в настройках суффиксом |
hostname | FQDN первого сетевого интерфейса ВМ (детали см. в CMDB) |
operating_system | Рассчитывается маппингом по настроечной таблице исходя из метадаты os_type корневого диска |
Информация AD не отправляется, если:
- ВМ создана под нужды PaaS.
- ВМ принадлежит настраиваемому списку игнорируемых проектов.
В рамках интеграции с корпоративной системой DNS Платформа отсылает информацию о ВМ и балансировщиках нагрузки (далее — LBS) для обеспечения создания А-записей в системе DNS Заказчика.
На информацию, отправляемую о ВМ и LBS, оказывают влияние следующие действия пользователей:
- создание / удаление ВМ;
- подключение / отключение сетевых интерфейсов ВМ;
- изменение DNS имени сетевых интерфейсов ВМ;
- создание / удаление балансировщика;
- изменение DNS имени VIP сетевого интерфейса балансировщика;
- создание / масштабирование / удаление PaaS объектов.
- При создании объекта (ВМ, балансировщика) Платформой формируется информация о созданном объекте и отправляется в сторону Интеграционного сервиса, который создаст необходимые А-записи в корпоративной системе DNS.
- При удалении объекта (ВМ, балансировщика) Платформой формируется информация об удаленном объекте и отправляется в сторону Интеграционного сервиса, который удалит необходимые А-записи в корпоративной системе DNS.
- При изменении объекта (ВМ, балансировщика) Платформой формируется информация об измененном объекте и отправляется в сторону Интеграционного сервиса, который изменит необходимые А-записи в корпоративной системе DNS.
Структурно информация DNS состоит из одного словаря.
FQDN | FQDN сетевого интерфейса объекта (детали см. в CMDB) |
ip | первый IP-адрес соответствующего сетевого интерфейса |
Информация DNS синхронизируется:
-
Для всех сетевых интерфейсов ВМ, кроме принадлежащих настраиваемому списку проектов.
-
Для балансировщиков LBaaS и Octavia, имеющих DNS-имя VIP сетевых интерфейсов, отличное от стандартного (
host-<ip>):- созданных на фронте;
- балансировщиков DBaaS;
- балансировщиков k8s API KaaS.
В рамках интеграции с системами CMDB Платформа отсылает информацию о ВМ, включая информацию о дисках и сетях данной ВМ.
На информацию отправляемую о ВМ, оказывают влияние следующие действия пользователей:
- создание / удаление ВМ;
- изменение параметров ВМ;
- включение / выключение ВМ;
- подключение / отключение / замена диска;
- изменение размера диска;
- подключение / отключение сетевого интерфейса ВМ;
- переименование сетевого интерфейса, в том числе приватного DNS-имени;
- создание / изменение / масштабирование / удаление объектов PaaS.
Информация, передаваемая Платформой в сторону Интеграционного сервиса, представляет единую структуру данных (словарь), подчиняющуюся следующим принципам:
- При создании ВМ словарь должен отправляться со всеми данными о ВМ.
- При изменениях каких-либо объектов, влияющих на информацию о ВМ, посылаемый словарь может содержать только данные, связанные с изменившимися объектами.
- При удалении ВМ отправляется обновление информации о ВМ с соответствующим статусом.
Status | Рассчитывается маппингом по настроечной таблице исходя из состояния ВМ на гипервизоре (OS-EXT-STS:vm_state) или факта удаленности ВМ |
PlatformID | Идентификатор ВМ в облаке |
Project | Заголовок проекта ВМ (из IAM) |
Contact | Имя пользователя (из Keystone), создавшего ВМ, с заданным в настройках суффиксом |
Cluster | Availability zone ВМ |
RAM | Объем оперативной памяти ВМ, округленный до ГБ в меньшую сторону |
CPUCores | Количество процессоров ВМ |
CPUSockets | Количество процессоров ВМ |
HDDCurrentValue | Объем всех дисков, подключенных к ВМ, плюс размер корневого эфемерного диска, если используется |
SoftwareName | Значение метадаты |
j.network | Информация о сетевых интерфейсах ВМ. Массив. Описание см. ниже. |
NetworkName | FQDN первого сетевого интерфейса ВМ без конечной точки |
InstanceType | Рассчитывается маппингом по настроечной таблице исходя из |
ManagementIP | Первый приватный адрес первого сетевого интерфейса ВМ |
NetworkInterfaceIP | Первый IP-адрес интерфейса в приватной сети |
NetworkInterfaceMAC | MAC-адрес интерфейса |
NetworkInterfaceName | Имя сетевого интерфейса (имя в OpenStack) |
NetworkInterfaceVLAN | Рассчитывается как |
NetworkInterfaceMask | Маска сети |
FQDN является строкой в формате:
<ЗАГОЛОВОК_ПРОЕКТА>-<DNS-ИМЯ_ИНТЕРФЕЙСА>.<DNS-ДОМЕН>.
, где:
- Заголовок проекта берется из IAM.
- Длина имени до первой точки обрезается до 15 символов.
- Домен берется из настроек сети сетевого интерфейса.
Информация о ВМ не отправляется, если:
- У ВМ отсутствуют сетевые интерфейсы.
- ВМ принадлежит настраиваемому списку игнорируемых проектов.
Для работы синхронизации CMDB требуется Consul — для синхронизации отправки данных в соответствующий специальный сервис.
В некоторых случаях не достаточно изменить данные, влияющие на информацию для синхронизации, чтобы эти изменения синхронизировались. К таким случаям относятся:
- изменение заголовка проекта в IAM,
- изменение метадаты корневого диска,
- изменение параметров сети.
При недоступности специальных сервисов синхронизации или других проблемах обработки изменений синхронизация может не выполниться.
Балансировщики нагрузки Kubernetes-aaS (Magnum от VK) не получают DNS-имя, поскольку K8s создает VIP сетевой интерфейс со стандартным DNS-именем (host-<ip>). В том числе стандартный ингресс контроллер. Поэтому DNS доступа к пользовательским сервисам в Kubernetes нет.
На данный момент список поддерживаемых антивирусных продуктов и средств защиты информации пуст. Каждое требование по интеграции должно быть рассмотрено индивидуально.