Как я могу отключить 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/
Другие вопросы по тегам