Machine image customization controller#

Machine image customization controller - это контроллер для настройки образов в DropApp Plus. Отвечает за управление и обновление образов контейнеров, развернутых в кластере. Он может использоваться для настройки параметров образа, таких как переменные окружения, секреты и другие настройки конфигурации. Работая с Machine image customization controller, можно легко внести изменения в образы контейнеров в кластере DropApp Plus без необходимости повторного развертывания всего приложения.

Последовательность выполнения#

Сетевые данные для каждого хоста должны быть в формате NMState под ключом с именем nmstate в секрете, указанном в networkDataName в поле PreprovisioningImage.

Все PreprovisioningImage файлы с меткой infraenvs.agent-install.openshift.io будут проигнорированы этим контроллером.

Сгенерированные URL-адреса являются случайными и изменятся при перезапуске контроллера.

Сохраняется только файл Ignition для каждого образа. При получении HTTP-запроса веб-сервер генерирует поток с архивом CPIO, содержащим файл Ignition и добавленный к initramfs. Поддерживаются запросы диапазона HTTP.

Настройки среды#

Требуются следующие переменные среды:

  • IRONIC_AGENT_IMAGE;

  • DEPLOY_ISO;

  • DEPLOY_INITRD.

Опциональны следующие переменные среды:

  • IRONIC_BASE_URL;

  • IRONIC_INSPECTOR_BASE_URL;

  • IRONIC_AGENT_PULL_SECRET;

  • IRONIC_AGENT_VLAN_INTERFACES;

  • IRONIC_RAMDISK_SSH_KEY;

  • REGISTRIES_CONF_PATH;

  • IP_OPTIONS;

  • HTTP_PROXY;

  • HTTPS_PROXY;

  • NO_PROXY.

Запуск контроллера#

Двоичный файл контроллера - /machine-image-customization-controller.

Для настройки используются следующие флаги командной строки:

  • -namespace - пространство имен, который отслеживает контроллер для согласования ресурсов preprovisioningimage;

  • -images-bind-addr - адрес и порт для привязки к веб-серверу;

  • -images-publish-addr - адрес, с которого клиенты будут получать доступ к конечной точке образа.

Статическая работа#

Существует также отдельный двоичный файл, /machine-image-customization-server, который запускает веб-сервер с использованием статических конфигурационных файлов, а не как контроллер DropApp Plus.

Для настройки используются следующие флаги командной строки:

  • -nmstate-dir - расположение статических файлов NMState;

  • -images-bind-addr - адрес и порт для привязки к веб-серверу;

  • -images-publish-addr - адрес, с которого клиенты будут получать доступ к конечной точке образа.

Результат#

Machine image customization controller настроен и успешно запускается.