
Ich habe ein AWS EC2-Image, das ich in VirtualBox konvertiert habe und lokal ausführe. Es funktioniert großartig, nur weiß ich nicht, wie ich die Aufrufe der AWS-Metadatendienste beim Booten deaktivieren kann:
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
Wo in Cloud-Init kann ich diese deaktivieren? Diese Aufrufe laufen irgendwann ab, führen aber dazu, dass der Start des VirtualBox-Images über 2 Minuten dauert.
Antwort1
Wenn Sie wirklich ein Cloud-Image mit VirtualBox verwenden möchten, würde ich .vmdk
anstelle des ec2 AMI das von Canonical erstellte empfehlen. Es ist bereits für die Verwendung desKeine Cloud-Datenquelleund meine Version von Virtualbox funktioniert bereits nativ mit einer VMDK-Datei (oder konvertiert transparent, ich bin nicht wirklich sicher).
Detaillierte Anweisungen erhalten Sie unterdiese Antworthat mehr.
Antwort2
Für eine einmalige Virtualbox ist die Antwort von @ching in Ordnung. Wenn Sie jedoch eine Vorlage erstellen und Cloud-Init benötigen, um die Dinge für Sie zu konfigurieren, besteht die „richtige“ Vorgehensweise darin, eine Override-Datei in zu erstellen /etc/cloud/cloud.cfg.d/
. Dateien in /etc/cloud/cloud.cfg.d/
überschreiben die Werte in /etc/cloud.cfg
.
Beispiel:
Wert in/etc/cloud/cloud.cfg
datasource_list: [ Ec2, None ]
Neue Datei/etc/cloud/cloud.cfg.d/99_overrides.cfg
datasource_list: [ None ]
Sie können hier anstelle von Ec2 andere Anbieter hinzufügen – VMware, ConfigDrive usw., was für die Bereitstellung sehr praktisch sein kann, wie Sie es mit den EC2-Metadaten tun würden.
Sehen:https://cloudinit.readthedocs.io/en/latest/topics/datasources.html
Antwort3
systemctl disable cloud-config.service
systemctl disable cloud-final.service
systemctl disable cloud-init.service
systemctl disable cloud-init-local.service