Подготовка виртуальных машин Linux в Azure

Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы

При создании виртуальной машины из универсального образа (из Коллекции вычислений Azure или управляемого образа) уровень управления позволит создать виртуальную машину и передать ей параметры. Это называется подготовкой виртуальной машины. В процессе подготовки платформа предоставляет виртуальной машине доступ к обязательным параметрам (имя узла, имя пользователя, пароль, ключи SSH, customData) по мере ее загрузки.

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

В качестве агентов подготовки можно использовать агент Linux для Azure или cloud-init. Это обязательные требования для создания универсальных образов.

Агенты подготовки обеспечивают поддержку всех предустановленных дистрибутивов Linux для Azure, и в большинстве случаев образы этих дистрибутивов уже включают cloud-init и агент Linux. Поэтому вы можете использовать cloud-init для подготовки, а агент Linux — для предоставления поддержки расширений Azure. Предоставление поддержки расширений означает, что виртуальная машина сможет поддерживать дополнительные службы Azure, такие как сброс паролей виртуальной машины, мониторинг Azure, Azure Backup, шифрование дисков Azure и т. д.

После завершения подготовки cloud-init будет запускаться при каждой загрузке. Средство cloud-init отслеживает изменения виртуальной машины, например изменение сети, подключение или форматирование временного диска, а также запуск агента Linux. Агент Linux непрерывно работает на сервере и пытается получить "целевое состояние" (новую конфигурацию) с платформы Azure, поэтому он сможет обработать установленные расширения.

Таким образом, в настоящее время предоставляются два агента подготовки, но мы рекомендуем всегда выбирать cloud-init, а агент Linux должен быть установлен для поддержки расширений. Это позволит вам воспользоваться оптимизацией платформы. Но вы можете отключить или удалить агент Linux, а также создать образы и удалить их без этого агента, как описано в документации.

Если у вас есть ядро Linux, которое не поддерживает ни один из этих агентов, но вы хотите задать некоторые свойства для создания виртуальной машины, например имя узла, имя пользователя, пароль, ключи SSH или customData, изучите документ по созданию универсальных образов без агента с соблюдением всех требований платформы.

Обязанности агента подготовки

Подготовка образа

  • Создание учетной записи пользователя
  • Настройка типов аутентификации SSH
  • Развертывание открытых ключей SSH и пар ключей
  • Настройка имени узла
  • Публикация имени узла DNS платформы
  • Отчет с отпечатком ключа узла SSH для платформы
  • Управление диском ресурсов
  • Форматирование и подключение диска ресурсов
  • Использование и обработка customData

Сеть

  • Управляет маршрутами для улучшения совместимости с DHCP-серверами платформы
  • Обеспечивает стабильность имени сетевого интерфейса

Ядро

  • Настраивает виртуальную архитектуру NUMA (отключить для ядра <2.6.37)
  • Использование энтропии Hyper-V для /dev/random
  • Настройка времени ожидания SCSI для корневого устройства (может быть удаленным)

Диагностика

  • Перенаправление консоли на последовательный порт

Обмен данными

Поток информации от платформы к агенту передается по двум каналам:

  • Прилагаемый DVD, используемый во время загрузки, для развернутых приложений IaaS. На этом DVD содержится файл конфигурации стандарта OVF, который включает всю информацию для подготовки, кроме пар ключей SSH.
  • Чтобы получить развертывание и настройку топологии, используется конечная точка TCP с REST API.

Требования к агенту подготовки Azure

Для правильной работы агента Linux и cloud-init требуются определенные пакеты системы:

  • Python 2.6+
  • OpenSSL 1.0 и более поздней версии
  • OpenSSH 5.3 и более поздней версии
  • Служебные программы файловой системы: sfdisk, fdisk, mkfs, parted
  • Инструменты работы с паролями: chpasswd, sudo
  • Инструменты обработки текста: sed, grep
  • Сетевые инструменты: ip-route
  • Поддержка ядра для монтирования файловых систем UDF.

Дальнейшие действия

При необходимости вы можете отключить подготовку и удалить агент Linux.