User data
User data — пользовательские параметры конфигурации операционной системы сервера. Описываются в виде скриптов в формате cloud-config (текстовые файлы с YAML-синтаксисом) или как bash-скрипт. Скрипты автоматически кодируются в Base64, передаются на сервер и выполняются с помощью агента cloud-init при первом запуске операционной системы. Использование user data помогает автоматизировать настройку серверов.
Указать user data можно при создании облачного сервера.
Подробнее о форматах скриптов cloud-config и bash в инструкции User data formats документации cloud-init.
В скриптах можно передавать параметры для настройки операционной системы и сценарии. Например:
- создать каталог и загрузить в него файлы;
- обновить репозитории и установить пакеты программного обеспечения;
- разместить SSH-ключи на сервере;
- настроить файл конфигурации преобразователя доменных имен resolv.conf.
Посмотрите другие примеры в инструкции Cloud config examples документации cloud-init.
Указать user data
Указать user data можно только при создании облачного сервера:
- в панели управления — на шаге 14 можно вставить текст в поле User data, загрузить файл в форматах
txt
,gz
,sh
или MIME-архив. Максимальный размер скрипта с данными, которые не закодированы в Base64, — 16 КБ; - через OpenStack CLI и Terraform — только скрипты с данными, закодированными в Base64.
После создания сервера изменить скрипт нельзя.
Примеры user data
Создать каталог и загрузить в него файлы
Cloud-config
Bash-скрипт
Пример скрипта для создания каталога и загрузки в него файла по сети:
#cloud-config
runcmd:
- mkdir /run/newdir
- [ wget, "http://example.com", -O, /run/newdir/index.html ]
Пример скрипта для создания каталога и загрузки в него файла по сети:
#!/bin/sh
mkdir /run/newdir
wget http://example.com -O /run/newdir/index.html