Отключить службу метаданных ec2 из cloud-init
У меня есть образ AWS EC2, который я преобразовал в VirtualBox и запустил локально. Это прекрасно работает, за исключением того, что я не могу понять, как отключить вызовы служб метаданных AWS при загрузке:
2015-09-25 19:29:29,932 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [50/120s]: request error [(<urllib3.connectionpool.HTTPConnectionPool object at 0x7fb78650efd0>, 'Connection to 169.254.169.254 timed out. (connect timeout=50.0)')]
2015-09-25 19:30:20,987 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [101/120s]: request error [(<urllib3.connectionpool.HTTPConnectionPool object at 0x7fb78652cb90>, 'Connection to 169.254.169.254 timed out. (connect timeout=50.0)')]
2015-09-25 19:30:39,011 - url_helper.py[WARNING]: Calling 'http://169.254.169.254/2009-04-04/meta-data/instance-id' failed [119/120s]: request error [(<urllib3.connectionpool.HTTPConnectionPool object at 0x7fb78650ee10>, 'Connection to 169.254.169.254 timed out. (connect timeout=17.0)')]
2015-09-25 19:30:40,015 - DataSourceEc2.py[CRITICAL]: Giving up on md from ['http://169.254.169.254/2009-04-04/meta-data/instance-id'] after 120 seconds
2015-09-25 19:31:43,509 - util.py[WARNING]: Failed to fetch password from virtual router 192.168.128.1
Где в облаке-init я могу отключить эти? Время ожидания этих вызовов истекает, но загрузка образа VirtualBox занимает более 2 минут.
3 ответа
Если вы действительно хотите использовать облачное изображение с virtualbox, я бы предложил .vmdk
что Canonical производит вместо ec2 ami. Он уже настроен для использования источника данных без облака, и моя версия virtualbox уже работает с.vmdk изначально (или конвертируется прозрачно, я не совсем уверен).
Для подробных инструкций этого ответа больше.
Для одноразового виртуального бокса ответ @ching подходит. Однако, если вы создаете шаблон и вам нужно, чтобы cloud-init настроил его за вас, то «правильный» способ сделать это — создать файл переопределения в формате . Файлы в/etc/cloud/cloud.cfg.d/
переопределит значения в/etc/cloud.cfg
.
Пример:
Значение в/etc/cloud/cloud.cfg
datasource_list: [ Ec2, None ]
Новый файл/etc/cloud/cloud.cfg.d/99_overrides.cfg
datasource_list: [ None ]
Вы можете добавить сюда других провайдеров вместо Ec2 — VMware, ConfigDrive и т. д., что может быть очень удобно для предоставления таких вещей, как если бы вы использовали метаданные EC2.
См.: https://cloudinit.readthedocs.io/en/latest/topics/datasources.html .
systemctl disable cloud-config.service
systemctl disable cloud-final.service
systemctl disable cloud-init.service
systemctl disable cloud-init-local.service