Delen via


Zelfstudie: Virtuele Linux-machines maken en beheren met de Azure CLI

Let op

In dit artikel wordt verwezen naar CentOS, een Linux-distributie die de status End Of Life (EOL) nadert. Houd rekening met uw gebruik en plan dienovereenkomstig. Zie de Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

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 op de Marketplace te zoeken naar een CentOS-installatiekopie, die vervolgens wordt gebruikt voor het implementeren van een tweede virtuele machine.

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             CentOS                        OpenLogic               7.5                                 OpenLogic:CentOS:7.5:latest                                                     CentOS                   latest
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             UbuntuServer                  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 CentOS.

az vm image list --offer CentOS --publisher OpenLogic --all --output table

Voorbeeld van gedeeltelijke uitvoer:

Architecture    Offer                      Publisher    Sku              Urn                                                       Version
--------------  -------------------------  -----------  ---------------  --------------------------------------------------------  ---------------
x64             CentOS                     OpenLogic    8_2              OpenLogic:CentOS:8_2:8.2.2020111800                       8.2.2020111800
x64             CentOS                     OpenLogic    8_2-gen2         OpenLogic:CentOS:8_2-gen2:8.2.2020062401                  8.2.2020062401
x64             CentOS                     OpenLogic    8_2-gen2         OpenLogic:CentOS:8_2-gen2:8.2.2020100601                  8.2.2020100601
x64             CentOS                     OpenLogic    8_2-gen2         OpenLogic:CentOS:8_2-gen2:8.2.2020111801                  8.2.2020111801
x64             CentOS                     OpenLogic    8_3              OpenLogic:CentOS:8_3:8.3.2020120900                       8.3.2020120900
x64             CentOS                     OpenLogic    8_3              OpenLogic:CentOS:8_3:8.3.2021020400                       8.3.2021020400
x64             CentOS                     OpenLogic    8_3-gen2         OpenLogic:CentOS:8_3-gen2:8.3.2020120901                  8.3.2020120901
x64             CentOS                     OpenLogic    8_3-gen2         OpenLogic:CentOS:8_3-gen2:8.3.2021020401                  8.3.2021020401
x64             CentOS                     OpenLogic    8_4              OpenLogic:CentOS:8_4:8.4.2021071900                       8.4.2021071900
x64             CentOS                     OpenLogic    8_4-gen2         OpenLogic:CentOS:8_4-gen2:8.4.2021071901                  8.4.2021071901
x64             CentOS                     OpenLogic    8_5              OpenLogic:CentOS:8_5:8.5.2022012100                       8.5.2022012100
x64             CentOS                     OpenLogic    8_5              OpenLogic:CentOS:8_5:8.5.2022101800                       8.5.2022101800
x64             CentOS                     OpenLogic    8_5-gen2         OpenLogic:CentOS:8_5-gen2:8.5.2022012101                  8.5.2022012101

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-jammydit .

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 CentOS 8.5 op te geven.

az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:8_5: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.