Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️
Voor meer informatie over cloud-init of het oplossen van problemen op een dieper niveau, moet u begrijpen hoe het werkt. In dit document worden de belangrijke onderdelen gemarkeerd en worden de azure-details uitgelegd.
Wanneer cloud-init is opgenomen in een gegeneraliseerde installatiekopie en er een VIRTUELE machine wordt gemaakt op basis van die installatiekopie, worden configuraties verwerkt en tijdens de eerste keer opstarten vijf fasen doorlopen. In deze fasen ziet u op welk moment cloud-init de configuraties toepast.
Meer informatie over Cloud-Init configuratie
Als u een VIRTUELE machine configureert voor uitvoering op een platform, wordt cloud-init gebruikt om meerdere configuraties toe te passen. De belangrijkste configuraties waarmee u communiceert, zijn User data
(customData), die ondersteuning biedt voor meerdere indelingen. Zie User-Data Formats & cloud-init 21.2-documentatie voor meer informatie. U hebt ook de mogelijkheid om scripts (/var/lib/cloud/scripts) toe te voegen en uit te voeren voor andere configuraties.
Vooraf geconfigureerde Azure Marketplace-afbeeldingen
Sommige configuraties zijn al gebakken in Azure Marketplace-installatiekopieën die worden geleverd met cloud-init.
Cloudgegevensbron : cloud-init bevat code die kan communiceren met cloudplatforms. Deze codes worden 'gegevensbronnen' genoemd. Wanneer een virtuele machine wordt gemaakt op basis van een cloud-init-image in Azure, laadt cloud-init de Azure datasource, die communiceert met de endpoints van Azure-metagegevens om de VM-specifieke configuratie op te halen.
Runtime-configuratie (/run/cloud-init).
Imageconfiguratie (/etc/cloud), zoals
/etc/cloud/cloud.cfg
,/etc/cloud/cloud.cfg.d/*.cfg
. Een voorbeeld van waar deze configuratie wordt gebruikt in Azure, is dat het gebruikelijk is dat Linux-besturingssysteemafbeeldingen met cloud-init een Azure-gegevensbronrichtlijn hebben die aangeeft welke gegevensbron cloud-init moet gebruiken. Deze configuratie bespaart cloud-init tijd.sudo cat /etc/cloud/cloud.cfg.d/90_dpkg.cfg
# to update this file, run dpkg-reconfigure cloud-init datasource_list: [ Azure ]
Cloud-init-opstartfasen (verwerking van configuratie)
Wanneer u VM's inricht met cloud-init, zijn er vijf opstartfasen voor de configuratie. De uitvoer van deze fasen is zichtbaar in de logbestanden.
GeneratorFase: De cloud-init-systeemgenerator wordt gestart en bepaalt dat cloud-init moet worden opgenomen in de opstartdoelen, en als dat het geval is, wordt cloud-init ingeschakeld.
Cloud-init Local Stage: Op deze stap zoekt cloud-init naar de lokale 'Azure'-gegevensbron, waardoor cloud-init met Azure kan interfacen en een netwerkconfiguratie kan toepassen, inclusief een back-up optie.
Cloud-init-fase (netwerk): netwerken moeten online zijn en de NIC- en routetabelgegevens moeten worden gegenereerd. In deze fase worden de modules die in
cloud_init_modules
staan vermeld in/etc/cloud/cloud.cfg
uitgevoerd. De VIRTUELE machine in Azure is gekoppeld, de tijdelijke schijf is geformatteerd, de hostnaam wordt ingesteld, samen met andere taken.Hier noemen we enkele van de
cloud_init_modules
.- migrator - seed_random - bootcmd - write-files - growpart - resizefs - disk_setup - mounts - set_hostname - update_hostname - ssh
Na deze fase stuurt cloud-init een signaal naar het Azure-platform dat de virtuele machine succesvol is ingericht. Sommige modules zijn mogelijk mislukt, maar niet alle modulefouten leiden automatisch tot een inrichtingsfout.
Cloud-init-configuratiefase: In deze fase worden de modules gedefinieerd en vermeld in
cloud_config_modules
uitgevoerd zoals gespecificeerd in/etc/cloud/cloud
.cfg.Cloud-init Final Stage: In deze laatste fase worden de modules in
cloud_final_modules
, vermeld in/etc/cloud/cloud.cfg
, uitgevoerd. Hier moeten modules die in een later stadium worden uitgevoerd tijdens het opstartproces, zoals pakketinstallaties en het uitvoeren van scripts, of dergelijke.- Tijdens deze fase kunt u scripts uitvoeren door ze in de directory's onder
/var/lib/cloud/scripts
te plaatsen.-
per-boot
- scripts in deze map, worden uitgevoerd bij elke herstart -
per-instance
- scripts in deze map worden uitgevoerd wanneer een nieuw exemplaar voor het eerst wordt opgestart -
per-once
- scripts in deze map slechts één keer worden uitgevoerd
-
- Tijdens deze fase kunt u scripts uitvoeren door ze in de directory's onder
Volgende stappen
Problemen met cloud-init oplossen.