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 ✔️
In dit artikel leest u hoe u cloud-init gebruikt om een bestaand bash-script uit te voeren op een virtuele Linux-machine (VM) of virtuele-machineschaalsets (VMSS) tijdens het inrichten in Azure. Deze cloud-init-scripts worden uitgevoerd bij de eerste keer opstarten zodra de resources zijn ingericht door Azure. Zie het overzicht van cloud-init voor meer informatie over hoe cloud-init systeemeigen werkt in Azure en de ondersteunde Linux-distributies
Een bash-script uitvoeren met cloud-init
Met cloud-init hoeft u uw bestaande scripts niet te converteren naar een cloudconfiguratie, accepteert cloud-init meerdere invoertypen, een van de volgende is een bash-script.
Als u de Azure-extensie voor aangepaste Linux-scripts hebt gebruikt om uw scripts uit te voeren, kunt u deze migreren om cloud-init te gebruiken. Azure-extensies hebben echter geïntegreerde rapportage om te waarschuwen voor scriptfouten. Een implementatie van een cloud-init-installatiekopie mislukt echter niet als het script mislukt.
Als u deze functionaliteit in actie wilt zien, maakt u een eenvoudig bash-script voor testen. Net als bij het cloud-init-bestand #cloud-config moet dit script lokaal zijn waar u de AzureCLI-opdrachten uitvoert om uw virtuele machine in te richten. Maak voor dit voorbeeld het bestand in Cloud Shell niet op uw lokale computer. U kunt elke editor die u wilt gebruiken. Zorg ervoor dat het hele cloud-init-bestand correct is gekopieerd, met name de eerste regel.
#!/bin/sh
echo "this has been written via cloud-init" + $(date) >> /tmp/myScript.txt
Voordat u deze image implementeert, moet u met de opdracht az group create een resourcegroep maken. Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt in de regio eastus.
az group create --name myResourceGroup --location eastus
Maak nu een virtuele machine met az vm create en geef het bash-scriptbestand --custom-data simple_bash.sh als volgt op:
az vm create \
--resource-group myResourceGroup \
--name vmName \
--image imageCIURN \
--custom-data simple_bash.sh \
--generate-ssh-keys
Opmerking
Vervang de waarden myResourceGroup, vmName en imageCIURN dienovereenkomstig. Zorg ervoor dat een afbeelding met Cloud-init is gekozen.
Controleren of het bash-script is uitgevoerd
SSH naar het openbare IP-adres van uw VM zoals getoond in de uitvoer van het voorgaande commando. Voer als volgt uw eigen gebruiker en publicIpAddress in:
ssh <user>@<publicIpAddress>
Controleer of het /tmp/myScript.txt bestand bestaat en de juiste tekst bevat.
sudo cat /tmp/myScript
Als dat niet het geval is, kunt u de /var/log/cloud-init.log raadplegen voor meer details. Zoek naar de volgende vermelding:
sudo cat /var/log/cloud-init.log
Running config-scripts-user using lock Running command ['/var/lib/cloud/instance/scripts/part-001']
Volgende stappen
Zie het volgende voor aanvullende cloud-init-voorbeelden van configuratiewijzigingen: