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 ✔️
Virtuele machines in Azure bieden een volledig geconfigureerde en flexibele computeromgeving. In deze zelfstudie worden basisitems voor de implementatie van virtuele Azure-machines behandeld, zoals het selecteren van een VM-grootte, het selecteren van een VM-image en het implementeren van een virtuele machine. U leert het volgende:
- Een virtuele machine maken en ermee verbinden
- 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 vinden. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.
Resourcegroep aanmaken
Hieronder declareren we omgevingsvariabelen. Er wordt een willekeurig achtervoegsel toegevoegd aan resourcenamen die uniek moeten zijn voor elke implementatie.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="eastus2"
export MY_RESOURCE_GROUP_NAME="myResourceGroupVM$RANDOM_SUFFIX"
az group create --name $MY_RESOURCE_GROUP_NAME --location $REGION
Resultaten:
{
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupVMxxx",
"location": "eastus2",
"name": "myResourceGroupVMxxx",
"properties": {
"provisioningState": "Succeeded"
}
}
Een Azure-resourcegroep is een logische container waarin Azure-resources worden geïmplementeerd en beheerd. Een resourcegroep moet worden gemaakt voordat een virtuele machine wordt aangemaakt. In dit voorbeeld wordt een resourcegroep met de naam myResourceGroupVM gemaakt in de regio eastus2 .
De resourcegroep wordt opgegeven tijdens het maken of wijzigen van een virtuele machine, zoals in deze zelfstudie te zien is.
Virtuele machine maken
Wanneer u een virtuele machine maakt, zijn er verschillende opties beschikbaar, zoals besturingssysteemimage, schijfgrootte en beheerdersgegevens. In het volgende voorbeeld wordt een VIRTUELE machine gemaakt met de naam myVM waarop SUSE Linux Enterprise Server (SLES) wordt uitgevoerd. Er wordt een gebruikersaccount met de naam azureuser gemaakt op de virtuele machine en SSH-sleutels worden gegenereerd als deze niet bestaan op de standaardsleutellocatie (~/.ssh).
export MY_VM_NAME="myVM$RANDOM_SUFFIX"
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM_NAME \
--image SuseSles15SP5 \
--public-ip-sku Standard \
--admin-username azureuser \
--generate-ssh-keys
Het kan enkele minuten duren voordat de virtuele machine is gemaakt. Zodra de VIRTUELE machine is gemaakt, voert de Azure CLI informatie over de VIRTUELE machine uit. Noteer het publicIpAddress
; dit adres kan worden gebruikt voor toegang tot de virtuele machine.
{
"fqdns": "",
"id": "/subscriptions/xxxxx-xxxxx-xxxxx-xxxxx/resourceGroups/myResourceGroupVMxxx/providers/Microsoft.Compute/virtualMachines/myVMxxx",
"location": "eastus2",
"macAddress": "00-0D-3A-23-9A-49",
"powerState": "VM running",
"privateIpAddress": "10.0.0.4",
"publicIpAddress": "52.174.34.95",
"resourceGroup": "myResourceGroupVMxxx"
}
Verbinding maken met de VM
U kunt nu verbinding maken met de VIRTUELE machine met SSH in Azure Cloud Shell of vanaf uw lokale computer. Vervang het voorbeeld-IP-adres door het publicIpAddress
ip-adres dat u in de vorige stap hebt genoteerd.
Als u verbinding wilt maken met de virtuele machine, moet u eerst het openbare IP-adres ophalen met behulp van de Azure CLI. Voer de volgende opdracht uit om het IP-adres op te slaan in een variabele: export IP_ADDRESS=$(az vm show --show-details --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query publicIps --output tsv)
Zodra u het IP-adres hebt, gebruikt u SSH om verbinding te maken met de virtuele machine. Met de volgende opdracht maakt u verbinding met de virtuele machine met behulp van het azureuser
account en het opgehaalde IP-adres: ssh -o StrictHostKeyChecking=no azureuser@$IP_ADDRESS
VM-installatiekopieën begrijpen
Azure Marketplace bevat veel afbeeldingen die kunnen worden gebruikt om VM's te maken. In de vorige stappen is een virtuele machine gemaakt met een SUSE-image. 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 met de meest gebruikte afbeeldingen wilt zien, gebruikt u de opdracht az vm image list.
az vm image list --output table
De uitvoer van de opdracht retourneert de populairste VM-afbeeldingen op 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 afbeeldingen kan ook gefilterd worden op --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
Opmerking
Canonical heeft de Offer-namen 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 aanbieding0001-com-ubuntu-server-focal
en voor Ubuntu 22.04 is het 0001-com-ubuntu-server-jammy
.
Als u een virtuele machine wilt implementeren met behulp van een specifieke installatiekopie, noteert u de waarde in de Urn-kolom, die bestaat uit de uitgever, aanbod, SKU en optioneel een versienummer om de installatiekopie te identificeren. Wanneer u de afbeelding specificeert, kan het versienummer van de afbeelding worden vervangen door latest
, waarmee de nieuwste 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.
export MY_VM2_NAME="myVM2$RANDOM_SUFFIX"
az vm create --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM2_NAME --image Canonical:0001-com-ubuntu-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 worden gesteld voor de virtuele machine. Virtuele machines moeten de juiste grootte hebben voor de verwachte werkbelasting. Als de werkbelasting toeneemt, kan een bestaande virtuele machine worden aangepast in grootte.
VM-grootten
In de volgende tabel zijn grootten gecategoriseerd in use-cases.
Typ | Beschrijving |
---|---|
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
Gebruik de opdracht az vm list-sizes om een lijst met VM-grootten weer te geven die beschikbaar zijn in een bepaalde regio.
az vm list-sizes --location $REGION --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
Vm maken met een specifieke grootte
In het vorige voorbeeld van het maken van een virtuele machine is er geen grootte opgegeven, wat resulteert in een standaardgrootte. Een VM-grootte kan tijdens de creatie worden geselecteerd met behulp van az vm create en de --size
-parameter.
export MY_VM3_NAME="myVM3$RANDOM_SUFFIX"
az vm create \
--resource-group $MY_RESOURCE_GROUP_NAME \
--name $MY_VM3_NAME \
--image SuseSles15SP5 \
--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 $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query hardwareProfile.vmSize
Controleer voordat u het formaat van een VIRTUELE machine wijzigt of de gewenste grootte beschikbaar is in het huidige Azure-cluster. De opdracht az vm list-vm-resize-options retourneert de lijst met grootten.
az vm list-vm-resize-options --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --query [].name
Als de gewenste grootte beschikbaar is, kan de grootte van de virtuele machine worden gewijzigd vanuit de status Ingeschakeld, hoewel deze tijdens de bewerking opnieuw wordt opgestart. Gebruik de opdracht az vm resize om de grootte te wijzigen.
az vm resize --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --size Standard_D4s_v3
Als de gewenste grootte niet beschikbaar is in het huidige cluster, moet de VM worden gedealloceerd voordat de grootte kan worden aangepast. Gebruik de opdracht az vm deallocate om de toewijzing van de VIRTUELE machine te stoppen en de toewijzing ervan ongedaan te maken. Houd er rekening mee dat wanneer de virtuele machine weer wordt ingeschakeld, gegevens op de tijdelijke schijf mogelijk worden verwijderd. Het openbare IP-adres wordt ook gewijzigd, tenzij er een statisch IP-adres wordt gebruikt. Zodra het gedealloceerd is, kan de grootte worden gewijzigd.
Nadat het formaat is gewijzigd, kan de VIRTUELE machine worden gestart.
az vm start --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
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.
Energietoestanden
Energiestatus | Beschrijving |
---|---|
Beginnen | Geeft aan dat de virtuele machine wordt gestart. |
Hardlopen | Geeft aan dat de virtuele machine draait. |
Het 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 virtuele machine wordt gedealloceerd. |
Toewijzing ongedaan gemaakt | Geeft aan dat de virtuele machine is verwijderd uit de hypervisor, maar nog steeds beschikbaar is in het besturingsvlak. Virtuele machines in de status Gedealloceerd worden geen kosten in rekening gebracht. |
- | Geeft aan dat de energiestatus van de virtuele machine onbekend is. |
De energiestatus zoeken
Gebruik de opdracht az vm get-instance-view om de status van een bepaalde VM op te halen. Zorg ervoor dat u een geldige naam opgeeft voor een virtuele machine en resourcegroep.
az vm get-instance-view \
--name $MY_VM_NAME \
--resource-group $MY_RESOURCE_GROUP_NAME \
--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 kunt u 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 behulp van de Azure CLI kunnen veel algemene beheertaken worden uitgevoerd vanaf de opdrachtregel of in scripts.
IP-adres ophalen
Met deze opdracht worden de privé- en openbare IP-adressen van een virtuele machine geretourneerd.
az vm list-ip-addresses --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME --output table
Virtuele machine stoppen
az vm stop --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
Virtuele machine starten
az vm start --resource-group $MY_RESOURCE_GROUP_NAME --name $MY_VM_NAME
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.
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 ermee verbinden
- 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
Ga door naar de volgende zelfstudie om te leren over VM-schijven.