Как я могу отключить cloud-init?
У меня есть полностью настроенный экземпляр и изображение из него для группы автоматического масштабирования. При автоматическом масштабировании новых экземпляров из этого изображения он вызывает cloud-init. cloud-init меняет имя хоста и ломает fstab.
Я хочу предотвратить запуск cloud-init при запуске экземпляра.
1 ответ
В системах, которые используют systemd и имеют текущую (17.0+) версию cloud-init, в исходной документации описывается процесс отключения cloud-init одним из следующих способов:
touch /etc/cloud/cloud-init.disabled
- добавлять
cloud-init=disabled
в командной строке ядра.
Для более старых версий cloud-init (0.7.X) может быть полезна следующая информация.
Вы можете отключить модификацию cloud-init файла /etc/fstab одним из двух способов.
а.) предоставляя cloud-config, которая переопределяет записи по умолчанию 'mounts' и отключает их.
mounts:
- [ephemeral0, null]
- [swap, null]
б.) отключив mounts
модуль от запуска. Это делается путем удаления его из списка "cloud_config_modules", который вы увидите в /etc/cloud/cloud.cfg
,
Что касается имени хоста, вы также можете контролировать это. Если вы просто хотите, чтобы cloud-init не изменил / etc / hostname, то:
preserve_hostname: true
Также интересным для вас может быть manage_etc_hosts
,
Оба они описаны в doc / examples / cloud-config.txt (и установлены в /usr/share/doc/cloud-init/examples
)
Мне интересно знать, как cloud-init нарушает работу /etc/fstab. Пожалуйста, отправьте сообщение об ошибке, используя ubuntu-bug cloud-init
изнутри вашего экземпляра и опишите, что он делает, что вы считаете неправильным.
В Ubuntu 20.04 эти шаги помогли мне отключить cloud-init:
Выполните эту команду:
sudo touch /etc/cloud/cloud-init.disabled
Перезагрузите машину.
Выполните эти команды:
sudo apt-get purge cloud-init
sudo rm -rf /etc/cloud/; sudo rm -rf /var/lib/cloud/