Использование cloud-init для управления настройками виртуальных машин

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

cloud-init работает следующим образом: он считывает данные настроек «Пользовательских данных» (user-data) и, если они заданы в формате, который понимает cloud-init, то он может выполнять действия описанные в пользовательских данных, игнорируя настройки сервиса метаданных.

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

Поскольку, процедура cloud-init выполняется только при инициализации виртуальных машин, в дальнейшем поменять эти настройки затруднительно.

Однако проблема решается с помощью перемещения файла cloud-init в директорию tmpfs/. В данном случае считывание настроек виртуальной машины будет производиться при каждом старте машины.