Перейти к содержанию

Интеграция Metal3 и KubeVirtBMC для подготовки виртуальных машин KubeVirt как физических серверов

7.0/10

Контекст

Инструменты автоматизации физической инфраструктуры, такие как Metal3 и OpenStack Ironic, рассчитывают на управление серверами через контроллеры BMC по протоколам IPMI или Redfish. Виртуальные машины KubeVirt по умолчанию не имеют подобных эндпоинтов, что препятствует их управлению с помощью стандартных операторов оборудования.

Суть

Авторы предлагают использовать KubeVirtBMC для эмуляции Redfish-интерфейсов поверх API Kubernetes, что позволяет Metal3 управлять ВМ KubeVirt как обычными BareMetalHost-ресурсами. Для этого в виртуальной машине фиксируется MAC-адрес и подключается CD-ROM, а в Metal3 задается адрес контроллера с драйвером виртуального медиа (`redfish-virtualmedia+http://`), исключающим необходимость в PXE и DHCP. Ironic выполняет инспекцию виртуального аппаратного обеспечения с помощью агента Ironic Python Agent и загружает образ ОС (live-ISO или qcow2). Среди ключевых нюансов авторы выделяют необходимость отключения TLS для виртуального медиа в настройках Ironic (`disableVirtualMediaTLS: true`), так как текущие версии KubeVirtBMC и CDI не поддерживают проверку динамических сертификатов Ironic.

Вывод

Эмуляция контроллеров BMC превращает KubeVirt в полноценную тестовую площадку для bare-metal инструментов, позволяя отлаживать конвейеры CI/CD и сценарии развертывания оборудования без расходов на физические серверные стойки.