Пользовательские метаданные
Пользовательские метаданные передаются в ключе attributes.
Они включают дополнительные метки и атрибуты для инвентаризации и классификации ВМ: например, environment:prod, role:dbserver и т.п.
Особую роль играет атрибут attributes/user-data, в котором передаются скрипты для настройки ВМ при первом запуске.
Просматривать, добавлять и удалять пользовательские метаданные можно как через веб-консоль, так и через API.
Операции с пользовательскими метаданными
Заголовок раздела «Операции с пользовательскими метаданными»Просмотреть метаданные ВМ
Заголовок раздела «Просмотреть метаданные ВМ»- Веб-консоль
- API
В веб-консоли выберите нужный проект.
В списке сервисов выберите Compute → Виртуальные машины и выберите нужную ВМ.
Перейдите на вкладку Метаданные. На ней отображаются:
- содержимое скрипта
cloud-init; - добавленные на ВМ SSH-ключи;
- все дополнительные пользовательские метаданные, назначенные ВМ.
Добавить, изменить, удалить метаданные
Заголовок раздела «Добавить, изменить, удалить метаданные»- Веб-консоль
- API
В веб-консоли выберите нужный проект.
В списке сервисов выберите Compute → Виртуальные машины и выберите нужную ВМ.
Перейдите на вкладку Метаданные и нажмите кнопку Редактировать метаданные.
Чтобы добавить новые метаданные:
4.1. Нажмите кнопку Добавить ключ-значение.
4.2. Введите ключи и значения новых метаданных.
4.3. Нажмите кнопку Сохранить.
Чтобы изменить существующие метаданные, отредактируйте значения соответствующих ключей и нажмите кнопку Сохранить.
Чтобы удалить элемент метаданных, нажмите на значок удаления для удаляемого элемента.
Работа с cloud-init
Заголовок раздела «Работа с cloud-init»Скрипт cloud-init предназначен для первичной настройки ВМ.
С его помощью можно:
- добавить на ВМ SSH-ключи;
- создать пользователей и добавить их в группы;
- настроить на ВМ локаль и часовой пояс;
- установить пакеты;
- создать конфигурационные файлы;
- запустить сервисы.
Скрипт может иметь формат cloud-config или bash. Он передается в атрибуте user-data.
Скрипт cloud-init можно передавать в метаданных как через веб-консоль, так и через API.
При создании ВМ через веб-консоль скрипт создается автоматически на этапе добавления SSH-ключа.
Особенности и ограничения
Заголовок раздела «Особенности и ограничения»Скрипт
cloud-initможно запустить только один раз — при создании ВМ.Скрипт
cloud-initвыполняется от имени пользователяroot, поэтому в командах не нужно использоватьsudo.Все создаваемые во время выполнения скрипта директории и файлы будут принадлежать пользователю
root. Если нужно, чтобы доступ к этим директориям и файлам имели другие пользователи, создайте их и предоставьте необходимые права.Команды, требующие подтверждения от пользователя, нужно использовать с опцией
-y(например,apt install -y docker.io).При добавлении SSH-ключа нужно составлять имя пользователя по следующим правилам:
- Имя должно начинаться со строчной латинской буквы или символа подчеркивания.
- Имя может содержать строчные латинские буквы, цифры, символы подчеркивания и дефисы.
- Имя может заканчиваться строчной латинской буквой, цифрой, символом подчеркивания, дефисом или значком доллара.
- Максимальная длина — 32 символа.
Правила валидации имен пользователей различаются в разных операционных системах. Если имя не соответствует требованиям операционной системы, виртуальная машина будет создана, а пользователь — нет, и подключиться к виртуальной машине от его имени не получится.