Cloud-init gebruiken om pakketten bij te werken en te installeren op een Virtuele Linux-machine in Azure
Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️
In dit artikel leest u hoe u cloud-init gebruikt om pakketten bij te werken op een virtuele Linux-machine (VM) of virtuele-machineschaalsets 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 VM bijwerken met cloud-init
Voor beveiligingsdoeleinden wilt u mogelijk een VIRTUELE machine configureren om de meest recente updates toe te passen bij het eerste opstarten. Omdat cloud-init in verschillende Linux-distributies werkt, hoeft u niet op te geven apt
of zypper
yum
voor pakketbeheer. In plaats daarvan definieert package_upgrade
en laat u het cloud-init-proces het juiste mechanisme voor de distributie in gebruik bepalen.
In dit voorbeeld gebruiken we De Azure Cloud Shell. Als u het upgradeproces in actie wilt zien, maakt u een bestand met de naam cloud_init_upgrade.txt en plakt u de volgende configuratie. U kunt elke editor die u wilt gebruiken. Zorg ervoor dat het hele cloud-init-bestand correct is gekopieerd, met name de eerste regel.
Kopieer de onderstaande tekst en plak deze in het cloud_init_upgrade.txt
bestand. Zorg ervoor dat het hele cloud-init-bestand correct is gekopieerd, met name de eerste regel.
#cloud-config
package_upgrade: true
packages:
- httpd
Voordat u implementeert, moet u een resourcegroep maken met de opdracht az group create . 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 op de locatie VS - oost.
az group create --name myResourceGroup --location eastus
Maak nu een virtuele machine met az vm create en geef het cloud-init-bestand als volgt op met de --custom-data
parameter:
az vm create \
--resource-group myResourceGroup \
--name vmName \
--image imageCIURN \
--custom-data cloud_init_upgrade.txt \
--admin-username azureuser \
--generate-ssh-keys
Notitie
Vervang de waarden myResourceGroup, vmName en imageCIURN dienovereenkomstig. Zorg ervoor dat een afbeelding met Cloud-init is gekozen.
SSH naar het openbare IP-adres van uw VIRTUELE machine die wordt weergegeven in de uitvoer van de voorgaande opdracht. Voer als volgt uw eigen gebruiker en publicIpAddress in:
ssh <user>@<publicIpAddress>
Voer het hulpprogramma voor pakketbeheer uit en controleer op updates:
- Voer de volgende opdracht uit om te bevestigen dat er geen updates in behandeling zijn
sudo yum check-update
Omdat cloud-init tijdens het opstarten op updates heeft gecontroleerd en geïnstalleerd, moeten er geen extra updates worden toegepast.
- U kunt het updateproces, het aantal gewijzigde pakketten en de installatie bekijken
httpd
door de volgende opdracht uit te voeren en de uitvoer te controleren.
sudo yum history
ID | Command line | Date and time | Action(s) | Altered
--------------------------------------------------------------------------------------------------
3 | -y install httpd | 2022-02-18 18:30 | Install | 7
2 | -y upgrade | 2022-02-18 18:23 | I, O, U | 321 EE
1 | | 2021-02-04 19:20 | Install | 496 EE
Volgende stappen
Zie het volgende voor aanvullende cloud-init-voorbeelden van configuratiewijzigingen: