Автоматическая настройка виртуальных машин с помощью утилиты Cloud-Init
Cloud-Init — это утилита для автоматизации начальной настройки таких параметров ВМ, как имя хоста, сетевые интерфейсы и назначенные ключи. Утилиту Cloud-Init рекомендуется использовать при инициализации ВМ, которые были созданы на базе шаблона, для избежания конфликтов в сети.
Чтобы начать использовать утилиту, установите на ВМ пакет cloud-init. После установки пакета служба Cloud-Init запускается во время процесса загрузки ОС виртуальной машины в поисках инструкции на настройку необходимых параметров ВМ. Cloud-Init может использовать параметры в окне "Однократный запуск" для выполнения разовой инструкции или параметры в окнах "Новая ВМ", "Параметры виртуальной машины" и "Изменить шаблон" для выполнения определенной инструкции каждый раз при запуске ВМ.
Сценарии использования Cloud-Init
Cloud-Init можно использовать для автоматизации процесса конфигурирования ВМ в различных, в том числе следующих, сценариях:
- ВМ, созданные на базе шаблонов -- Параметры Cloud-Init можно использовать в разделе "Начальный запуск" окна "Однократный запуск" для инициализации ВМ, созданных на базе шаблонов, что позволяет выполнить пользовательскую настройку ВМ во время первого запуска виртуальной машины.
- "Шаблоны ВМ" ‒ Параметры "Использовать Cloud-Init/Sysprep" вкладки "Начальный запуск" окна "Параметры шаблона" можно использовать для настройки пользовательских параметров ВМ, созданных на базе этого шаблона.
- Пулы ВМ ‒ Параметры "Использовать Cloud-Init/Sysprep" вкладки "Начальный запуск" окна "Новый пул" можно использовать для настройки пользовательских параметров ВМ, взятых из этого пула, что позволяет указать набор стандартных параметров, которые будут применяться каждый раз, когда ВМ будет забираться из этого пула. Параметры, указанные для базового шаблона, можно наследовать или переопределять, а также можно указать параметры для самого пула.
Установка Cloud-Init
Действия по установке Cloud-Init:
- Выполните вход в ОС на ВМ.
- Установите пакет cloud-init:
yum install cloud-init
Если после установки утилиты Cloud-Init на основе этой ВМ будет создан шаблон, то в свою очередь ВМ, созданные на базе этого шаблона, смогут использовать при загрузке такие возможности Cloud-Init, как настройка имени хоста, часового пояса, пароля суперпользователя root, авторизованных ключей, сетевых интерфейсов, службы DNS и т. д.
Использование Cloud-Init для подготовки шаблонов
На ВМ под управлением ОС Linux с установленным пакетом cloud-init можно создавать шаблоны с поддержкой возможностей Cloud-Init по настройке на создаваемых ВМ предопределенного набора стандартных параметров, включаемых в шаблон.
Действия по использованию Cloud-Init для подготовки шаблона:
- В главном меню Портала администрирования выберите пункт "Ресурсы → Шаблоны".
- Выберите шаблон.
- Нажмите Изменить.
- Нажмите "Показать дополнительные параметры".
- Перейдите на вкладку "Начальный запуск", где установите флажок "Использовать Cloud-Init/Sysprep".
- В текстовом поле "Имя хоста ВМ" введите имя хоста.
- Установите флажок "Настроить часовой пояс" и в выпадающем списке выберите часовой пояс.
- Нажмите "Аутентификация" и в этой секции выполните следующие действия:
- Введите пароль суперпользователя
rootв текстовых полях "Пароль" и "Подтвердить пароль", чтобы указать новый парольroot, или установите флажок "Использовать уже настроенный пароль". - В текстовой области "Авторизованные ключи SSH" укажите ключи SSH для добавления в файл авторизованных хостов на ВМ.
- Установите флажок "Пересоздать ключи SSH", чтобы создать ключи SSH для ВМ.
- Нажмите "Сеть" и в этой секции выполните следующие действия:
- В текстовом поле "Серверы DNS" укажите серверы DNS.
- В текстовом поле "Домены поиска DNS" укажите домены поиска DNS.
- Установите флажок "Сетевой интерфейс на госте" и с помощью кнопок
+(плюс) или–(минус) соответственно добавьте или удалите сетевые интерфейсы ВМ.
Примечание — Указывайте корректное имя и номер интерфейса (например eth0, eno3, enp0s), в противном случае подключение к сетевому интерфейсу будет активно, но сетевая конфигурация Cloud-Init будет отсутствовать.
- Нажмите "Пользовательский сценарий" и в текстовой области этой секции разместите сценарий в формате YAML.
- Нажмите OK.
В результате полученный шаблон можно использовать для создания новых ВМ. При этом параметры ВМ, созданных на базе этого шаблона, могут быть настроены автоматически с использованием возможностей Cloud-Init.
Использование Cloud-Init для инициализации ВМ
В Системе возможно использование Cloud-Init для автоматизации начальной конфигурации ВМ под управлением ОС Linux. В полях параметров Cloud-Init можно настроить имя хоста, часовой пояс, пароль суперпользователя root, авторизованные ключи, сетевые интерфейсы, службу DNS, а также можно указать пользовательский сценарий в формате YAML для запуска при загрузке ОС виртуальной машины. Обратите внимание, что пользовательский сценарий предоставляет возможность реализации дополнительной поддерживаемой конфигурации Cloud-Init, но недоступной для настройки в полях параметров Cloud-Init.
Действия по использованию Cloud-Init для инициализации ВМ:
- В главном меню Портала администрирования выберите пункт "Ресурсы → Виртуальные машины".
- Выберите ВМ (при необходимости перейдите на вкладку "Приложения" и убедитесь в том, что Cloud-Init установлен на ВМ. Обратите внимание, что приложения отображаются только при установленном гостевом агенте).
- Нажмите Запустить и выберите "Однократный запуск".
- Нажмите Начальный запуск и установите флажок "Cloud-Init".
- В текстовом поле "Имя хоста ВМ" введите имя хоста.
- Установите флажок "Настроить часовой пояс" и в выпадающем списке выберите часовой пояс.
- Нажмите Аутентификация и в этой секции выполните следующие действия:
- Введите пароль суперпользователя
rootв текстовых полях "Пароль" и "Подтвердить пароль", чтобы указать новый парольroot, или установите флажок "Использовать уже настроенный пароль". - В текстовой области "Авторизованные ключи SSH" укажите ключи SSH для добавления в файл авторизованных хостов на ВМ.
- Установите флажок "Пересоздать ключи SSH", чтобы создать ключи SSH для ВМ.
- Нажмите "Сеть" и в этой секции выполните следующие действия:
- В текстовом поле "Серверы DNS" укажите серверы DNS.
- В текстовом поле "Домены поиска DNS" укажите домены поиска DNS.
- Установите флажок "Сетевой интерфейс на госте" и с помощью кнопок
+(плюс) или–(минус) соответственно добавьте или удалите сетевые интерфейсы ВМ.
Примечание — Указывайте корректное имя и номер интерфейса (например eth0, eno3, enp0s), в противном случае подключение к сетевому интерфейсу будет активно, но сетевая конфигурация Cloud-Init будет отсутствовать.
- Нажмите "Пользовательский сценарий" и в текстовой области этой секции разместите сценарий в формате YAML.
- Нажмите OK.
В результате ВМ будет запущена с предопределенным набором параметров Cloud-Init.