Zelfstudie: Virtuele Linux-machines maken en beheren met de Azure CLI
Van toepassing op: ✔️ Flexibele schaalsets voor Linux-VM's ✔️
Virtuele machines in Azure bieden een volledig geconfigureerde en flexibele computeromgeving. Deze zelfstudie bevat informatie over basisconcepten voor het implementeren van virtuele Azure-machines, zoals het selecteren van een VM-grootte, het selecteren van een VM-installatiekopie en het implementeren van een virtuele machine. U leert het volgende:
- Een virtuele machine maken en verbinding maken met een virtuele machine
- VM-installatiekopieën selecteren en gebruiken
- Specifieke VM-grootten weergeven en gebruiken
- De grootte van een virtuele machine wijzigen
- De status van een virtuele machine weergeven en begrijpen
In deze zelfstudie wordt gebruikgemaakt van de CLI in de Azure Cloud Shell, die voortdurend wordt bijgewerkt naar de nieuwste versie.
Als u ervoor kiest om de CLI lokaal te installeren en te gebruiken, moet u Azure CLI 2.0.30 of hoger gebruiken voor deze zelfstudie. Voer az --version
uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
Resourcegroep maken
Een resourcegroep maken met de opdracht az group create.
Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. Voordat een virtuele machine wordt gemaakt, moet een resourcegroep worden gemaakt. In dit voorbeeld wordt een resourcegroep met de naam myResourceGroupVM gemaakt in de regio eastus2 .
az group create --name myResourceGroupVM --location eastus2
De resourcegroep wordt opgegeven tijdens het maken of wijzigen van een virtuele machine, zoals in deze zelfstudie te zien is.
Virtuele machine maken
Maak een virtuele machine met de opdracht az vm create.
Wanneer u een virtuele machine maakt, zijn er diverse opties beschikbaar zoals installatiekopie besturingssysteem, schijfgrootte en beheerdersreferenties. In het volgende voorbeeld wordt een VIRTUELE machine gemaakt met de naam myVM waarop SUSE Linux Enterprise Server (SLES) wordt uitgevoerd. Een gebruikersaccount met de naam azureuser wordt gemaakt op de virtuele machine en SSH-sleutels worden gegenereerd als deze niet bestaan op de standaardlocatie van de sleutel (~/.ssh):
az vm create \
--resource-group myResourceGroupVM \
--name myVM \
--image SuseSles15SP3 \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
Het maken van de virtuele machine kan een paar minuten duren. Wanneer de virtuele machine is gemaakt, biedt de Azure CLI informatie over de virtuele machine. Noteer de publicIpAddress
, dit adres kan worden gebruikt voor toegang tot de virtuele machine.
{
"fqdns": "",
"id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVM"
}
Verbinding maken met de VM
U kunt nu verbinding maken met de virtuele machine met SSH in de Azure Cloud Shell of vanaf uw lokale computer. Vervang het voorbeeld van een IP-adres door het publicIpAddress
dat u in de vorige stap hebt genoteerd.
ssh azureuser@52.174.34.95
Nadat u bent aangemeld bij de virtuele machine, kunt u toepassingen gaan installeren en configureren. Wanneer u klaar bent, sluit u de SSH-sessie af zoals gebruikelijk:
exit
Inzicht in VM-installatiekopieën
Azure Marketplace bevat veel installatiekopieën die kunnen worden gebruikt om VM's te maken. In de vorige stappen is een virtuele machine gemaakt met behulp van een Ubuntu-installatiekopie. In deze stap wordt de Azure CLI gebruikt om de marketplace te doorzoeken op een Ubuntu-installatiekopie, die vervolgens wordt gebruikt om een tweede virtuele machine te implementeren.
Als u een lijst wilt weergeven van de meest gebruikte installatiekopieën, gebruikt u de opdracht az vm image list.
az vm image list --output table
De uitvoer van de opdracht retourneert de meest populaire VM-installatiekopieën in Azure.
Architecture Offer Publisher Sku Urn UrnAlias Version
-------------- ---------------------------- ---------------------- ---------------------------------- ------------------------------------------------------------------------------ ----------------------- ---------
x64 debian-10 Debian 10 Debian:debian-10:10:latest Debian latest
x64 flatcar-container-linux-free kinvolk stable kinvolk:flatcar-container-linux-free:stable:latest Flatcar latest
x64 opensuse-leap-15-3 SUSE gen2 SUSE:opensuse-leap-15-3:gen2:latest openSUSE-Leap latest
x64 RHEL RedHat 7-LVM RedHat:RHEL:7-LVM:latest RHEL latest
x64 sles-15-sp3 SUSE gen2 SUSE:sles-15-sp3:gen2:latest SLES latest
x64 0001-com-ubuntu-server-jammy Canonical 18.04-LTS Canonical:UbuntuServer:18.04-LTS:latest UbuntuLTS latest
x64 WindowsServer MicrosoftWindowsServer 2022-Datacenter MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest Win2022Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2022-datacenter-azure-edition-core MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore latest
x64 WindowsServer MicrosoftWindowsServer 2019-Datacenter MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest Win2019Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2016-Datacenter MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest Win2016Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-R2-Datacenter MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest Win2012R2Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2012-Datacenter MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest Win2012Datacenter latest
x64 WindowsServer MicrosoftWindowsServer 2008-R2-SP1 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest Win2008R2SP1 latest
Een volledige lijst kan worden weergegeven door de --all
parameter toe te voegen. De lijst met installatiekopieën kan ook worden gefilterd door --publisher
of –-offer
. In dit voorbeeld wordt de lijst gefilterd op alle afbeeldingen, gepubliceerd door OpenLogic, met een aanbieding die overeenkomt met 0001-com-ubuntu-server-jammy.
az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table
Voorbeeld van gedeeltelijke uitvoer:
Architecture Offer Publisher Sku Urn Version
-------------- --------------------------------- ----------- --------------- ------------------------------------------------------------------------ ---------------
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200 22.04.202204200
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060 22.04.202205060
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280 22.04.202205280
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040 22.04.202206040
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090 22.04.202206090
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160 22.04.202206160
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220 22.04.202206220
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060 22.04.202207060
Notitie
Canonical heeft de namen van aanbiedingen gewijzigd die ze gebruiken voor de meest recente versies. Voor Ubuntu 20.04 is de naam van de aanbieding UbuntuServer. Voor Ubuntu 20.04 is de naam van de aanbieding en 0001-com-ubuntu-server-focal
voor Ubuntu 22.04 is 0001-com-ubuntu-server-jammy
dit .
Als u een virtuele machine wilt implementeren met een specifieke installatiekopie, noteert u de waarde in de kolom Urn, die bestaat uit de uitgever, aanbieding, SKU en eventueel een versienummer om de installatiekopie te identificeren. Wanneer u de installatiekopieën opgeeft, kan het versienummer van de installatiekopieën worden vervangen door latest
, waarmee de meest recente versie van de distributie wordt geselecteerd. In dit voorbeeld wordt de --image
parameter gebruikt om de nieuwste versie van een Ubuntu 22.04 op te geven.
az vm create --resource-group myResourceGroupVM --name myVM2 --image Canonical:0001-com-ubnutu-server-jammy:22_04-lts:latest --generate-ssh-keys
Inzicht in VM-grootten
De grootte van een virtuele machine bepaalt de hoeveelheid rekenresources, zoals CPU, GPU en geheugen, die beschikbaar zijn gesteld voor de virtuele machine. Virtuele machines moeten de juiste grootte krijgen voor de verwachte werkbelasting. Als de werkbelasting toeneemt, kan de grootte van een bestaande virtuele machine worden gewijzigd.
VM-grootten
In de volgende tabel zijn grootten gecategoriseerd in use-cases.
Type | Description |
---|---|
Algemeen gebruik | Evenwichtige CPU-geheugenverhouding. Ideaal voor ontwikkelen/testen en in kleine tot middelgrote toepassingen en gegevensoplossingen. |
Geoptimaliseerde rekenkracht | Hoge CPU-geheugenverhouding. Goed voor middelgrootte verkeerstoepassingen, netwerkapparatuur en batchprocessen. |
Geoptimaliseerd voor geheugen | Hoge geheugen-kernverhouding. Uiterst geschikt voor relationele-databases, middelgrote tot grote caches en analysefuncties in het geheugen. |
Geoptimaliseerd voor opslag | Snelle doorvoer van schijfgegevens en IO. Ideaal voor big data-, SQL- en NoSQL-databases. |
GPU | Gespecialiseerde VM's bedoeld voor intensieve grafische rendering en videobewerking. |
Hoge prestaties | Onze krachtigste CPU-VM's met optionele netwerkinterfaces (RDMA) voor hoge doorvoer. |
Beschikbare VM-grootten zoeken
Als u een lijst wilt weergeven met de VM-grootten die beschikbaar zijn in een bepaalde regio, gebruikt u de opdracht az vm list-sizes.
az vm list-sizes --location eastus2 --output table
Voorbeeld van gedeeltelijke uitvoer:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
4 8192 Standard_D2ds_v4 2 1047552 76800
8 16384 Standard_D4ds_v4 4 1047552 153600
16 32768 Standard_D8ds_v4 8 1047552 307200
32 65536 Standard_D16ds_v4 16 1047552 614400
32 131072 Standard_D32ds_v4 32 1047552 1228800
32 196608 Standard_D48ds_v4 48 1047552 1843200
32 262144 Standard_D64ds_v4 64 1047552 2457600
4 8192 Standard_D2ds_v5 2 1047552 76800
8 16384 Standard_D4ds_v5 4 1047552 153600
16 32768 Standard_D8ds_v5 8 1047552 307200
32 65536 Standard_D16ds_v5 16 1047552 614400
32 131072 Standard_D32ds_v5 32 1047552 1228800
32 196608 Standard_D48ds_v5 48 1047552 1843200
32 262144 Standard_D64ds_v5 64 1047552 2457600
32 393216 Standard_D96ds_v5 96 1047552 3686400
Een virtuele machine met een specifieke grootte maken
In het vorige voorbeeld over het maken van een virtuele machine, is er geen grootte opgegeven, waardoor de standaardgrootte werd gebruikt. Een VM-grootte kan worden geselecteerd tijdens het maken met behulp van az vm create en de --size
parameter.
az vm create \
--resource-group myResourceGroupVM \
--name myVM3 \
--image SuseSles15SP3 \
--size Standard_D2ds_v4 \
--generate-ssh-keys
De grootte van een virtuele machine wijzigen
Nadat een virtuele machine is geïmplementeerd, kan de grootte ervan worden gewijzigd om meer of minder resources toe te wijzen. U kunt de huidige grootte van een virtuele machine weergeven met az vm show:
az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize
Voordat u de grootte van een virtuele machine wijzigt, moet u controleren of de gewenste grootte beschikbaar is in het huidige Azure-cluster. Met de opdracht az vm list-vm-resize-options wordt de lijst met grootten geretourneerd.
az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name
Als de gewenste grootte beschikbaar is, kan de grootte van de virtuele machine worden gewijzigd terwijl de virtuele machine wordt uitgevoerd. De virtuele machine moet wel opnieuw worden opgestart tijdens de bewerking. Gebruik de opdracht az vm resize om de grootte te wijzigen.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_D4s_v3
Als de gewenste grootte niet beschikbaar is in het huidige cluster, moet de toewijzing van de VM ongedaan worden gemaakt voordat de grootte kan worden gewijzigd. Gebruik de opdracht az vm deallocate om de virtuele machine te stoppen en de toewijzing van de virtuele machine ongedaan te maken. Opmerking: wanneer de virtuele machine weer wordt ingeschakeld, zijn gegevens op de tijdelijke schijf mogelijk verwijderd. Het openbare IP-adres verandert ook, tenzij een statisch IP-adres is gebruikt.
az vm deallocate --resource-group myResourceGroupVM --name myVM
Nadat de toewijzing ongedaan is gemaakt, kan de grootte worden gewijzigd.
az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1
Als de grootte is gewijzigd, kan de virtuele machine worden gestart.
az vm start --resource-group myResourceGroupVM --name myVM
Energiestatussen voor de virtuele machine
Een Azure VM kan op een van de vele energiestatussen worden ingesteld. Deze status vertegenwoordigt de huidige status van de virtuele machine vanuit het oogpunt van de hypervisor.
Energiestatussen
Energiestatus | Beschrijving |
---|---|
Starten | Geeft aan dat de virtuele machine wordt gestart. |
Wordt uitgevoerd | Geeft aan dat de virtuele machine wordt uitgevoerd. |
Stoppen | Geeft aan dat de virtuele machine wordt gestopt. |
Gestopt | Geeft aan dat de virtuele machine is gestopt. Virtuele machines met de status Gestopt genereren nog steeds rekenkosten. |
Vrijgeven | Geeft aan dat de toewijzing van de virtuele machine ongedaan wordt gemaakt. |
Toewijzing ongedaan gemaakt | Geeft aan dat de virtuele machine is verwijderd uit de hypervisor maar nog steeds beschikbaar is in het vlak van het besturingselement. Virtuele machines met de status Toewijzing ongedaan gemaakt genereren geen rekenkosten. |
- | Geeft aan dat de Aan-/uitstatus van de virtuele machine onbekend is. |
De Aan-/uitstatus zoeken
Als u de status van een bepaalde virtuele machine wilt ophalen, gebruikt u de opdracht az vm get-instance-view. Zorg ervoor dat u een geldige naam opgeeft voor de virtuele machine en resourcegroep.
az vm get-instance-view \
--name myVM \
--resource-group myResourceGroupVM \
--query instanceView.statuses[1] --output table
Uitvoer:
Code Level DisplayStatus
------------------ ------- ---------------
PowerState/running Info VM running
Als u de energiestatus van alle VM's in uw abonnement wilt ophalen, gebruikt u de API Virtual Machines - List All, waarbij u de parameter statusOnly instelt op true.
Beheertaken
Tijdens de levenscyclus van een virtuele machine wilt u mogelijk beheertaken uitvoeren, zoals het starten, stoppen of verwijderen van een virtuele machine. Misschien wilt u ook scripts maken voor het automatiseren van terugkerende of complexe taken. Met de Azure CLI kunnen veel algemene beheertaken worden uitgevoerd vanaf de opdrachtregel of in scripts.
IP-adres ophalen
Met deze opdracht worden het privé- en openbare IP-adres van een virtuele machine geretourneerd.
az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table
Virtuele machine stoppen
az vm stop --resource-group myResourceGroupVM --name myVM
Virtuele machine starten
az vm start --resource-group myResourceGroupVM --name myVM
VM-resources verwijderen
Afhankelijk van hoe u een virtuele machine verwijdert, kan deze alleen de VM-resource verwijderen, niet de netwerk- en schijfresources. U kunt het standaardgedrag wijzigen om andere resources te verwijderen wanneer u de VIRTUELE machine verwijdert. Zie Een VIRTUELE machine en gekoppelde resources verwijderen voor meer informatie.
Als u een resourcegroep verwijdert, worden ook alle resources in de resourcegroep verwijderd, zoals de virtuele machine, het virtuele netwerk en de schijf. De parameter --no-wait
retourneert het besturingselement naar de prompt zonder te wachten totdat de bewerking is voltooid. De parameter --yes
bevestigt dat u de resources wilt verwijderen, zonder een extra prompt om dit te doen.
az group delete --name myResourceGroupVM --no-wait --yes
Volgende stappen
In deze zelfstudie hebt u geleerd over basistaken voor het maken en beheren van een virtuele machine, zoals:
- Een virtuele machine maken en verbinding maken met een virtuele machine
- VM-installatiekopieën selecteren en gebruiken
- Specifieke VM-grootten weergeven en gebruiken
- De grootte van een virtuele machine wijzigen
- De status van een virtuele machine weergeven en begrijpen
In de volgende zelfstudie leert u meer over VM-schijven.