Получение шаблонов Linux
Поскольку во всех гостевых ОС Linux по умолчанию предустановлен OpenSSH Server, необходимо только убедиться, что в шаблоне Linux установлен пакет cloud-init.
Самый простой способ получить шаблон Linux с установленным пакетом cloud-init — загрузить из официального репозитория или создать с помощью diskimage-builder. Либо можно создать шаблон Linux из существующего загрузочного тома.
Ограничения
-
Образ диска создается только с пользователем root, у которого нет ни пароля, ни SSH-ключей. Можно использовать методы
user dataиcloud-initдля выполнения задач начальной конфигурации на ВМ, которые будут развернуты из этого образа, например для создания определенных учетных записей пользователей. Другие параметры для настройки ВМ во время загрузки см. в документации по cloud-init.
Чтобы создать шаблон Linux
-
Установите пакет
diskimage-builder:# yum install diskimage-builder
-
Для гостевой ОС RHEL 7 загрузите облачный образ с клиентского портала Red Hat (требуется вход) и выполните следующую команду:
# export DIB_LOCAL_IMAGE=<path_to_rhel7_image>
-
Выполните команду
disk-image-create, чтобы создать образ диска с установленным пакетомcloud-initдля нужной гостевой системы Linux, например:# disk-image-create vm centos7 -t qcow2 -o centos7
где:
-
centos7— имя гостевой ОС. Может иметь одно из следующих значений:centos6,centos7,debian,rhel7илиubuntu.По умолчанию при использовании варианта
ubuntuбудет создан образ диска для Ubuntu 16.04. Чтобы создать образ для Ubuntu 18.04, добавьте в командуDIB_RELEASE=bionic:DIB_RELEASE=bionic disk-image-create vm ubuntu -t qcow2 -o ubuntu18. -
-oзадает имя итогового файла образа диска.
-
-
Отправьте созданный образ диска в вычислительный кластер с помощью инструмента
vinfra:# vinfra service compute image create centos7-image --os-distro centos7 \ --disk-format qcow2 --file centos7.qcow2
где:
centos7-image— имя нового образа.centos7— дистрибутив ОС. Может иметь одно из следующих значений:centos6,centos7,debian9,rhel7,ubuntu16.04иubuntu18.04.centos7.qcow2— образ QCOW2, созданный на шаге 3.
Чтобы развернуть виртуальную машину из загруженного шаблона
-
Создайте файл конфигурации
user-dataс нужной учетной записью пользователя:# cat <<EOF > user-data #cloud-config user: myuser password: password chpasswd: {expire: False} ssh_pwauth: True EOFгде
myuser— имя пользователя, аpassword— пароль для учетной записи. -
Запустите развертывание ВМ из образа диска, используя файл конфигурации в качестве данных пользователя:
# vinfra service compute server create centos7-vm --flavor medium \ --network public --user-data user-data --volume source=image,\
id=centos7-image,size=10где:
centos7-vm— имя новой ВМ.user-data— файл конфигурации, созданный на шаге 1.centos7-image— образ, добавленный в вычислительный кластер.