Självstudie: Skapa och hantera virtuella Linux-datorer med Azure CLI

Varning

Den här artikeln refererar till CentOS, en Linux-distribution som närmar sig EOL-status (End Of Life). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledningen.

Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️

Med virtuella Azure-datorer får du en fullständigt konfigurerbar och flexibel datormiljö. I den här självstudien beskrivs den grundläggande distributionen av virtuella Azure-datorer, till exempel att välja en VM-storlek, välja en VM-avbildning och distribuera en virtuell dator. Du lär dig att:

  • Skapa och ansluta till en virtuell dator
  • Välja och använda VM-avbildningar
  • Visa och använda specifika VM-storlekar
  • Ändra storlek på en virtuell dator
  • Visa och förstå tillstånd för virtuella datorer

I den här självstudien används CLI i Azure Cloud Shell, som ständigt uppdateras till den senaste versionen.

Om du väljer att installera och använda CLI:t lokalt för den här självstudien måste du köra Azure CLI version 2.0.30 eller senare. Kör az --version för att hitta versionen. Om du behöver installera eller uppgradera kan du läsa Installera Azure CLI.

Skapa resursgrupp

Skapa en resursgrupp med kommandot az group create.

En Azure-resursgrupp är en logisk container där Azure-resurser distribueras och hanteras. En resursgrupp måste skapas före den virtuella datorn. I det här exemplet skapas en resursgrupp med namnet myResourceGroupVM i regionen eastus2 .

az group create --name myResourceGroupVM --location eastus2

Resursgruppen som anges när du skapar eller ändrar en VM visas i hela den här självstudien.

Skapa en virtuell dator

Skapa en virtuell dator med kommandot az vm create.

När du skapar en virtuell dator finns flera tillgängliga alternativ, som t.ex. avbildning av operativsystemet, bestämning av diskstorlek och administrativa autentiseringsuppgifter. I följande exempel skapas en virtuell dator med namnet myVM som kör SUSE Linux Enterprise Server (SLES). Ett användarkonto med namnet azureuser skapas på den virtuella datorn och om inte SSH-nycklar finns genereras de på standardplatsen för nyckeln (~/.ssh):

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM \
    --image SuseSles15SP3 \
    --public-ip-sku Standard \
    --admin-username azureuser \
    --generate-ssh-keys

Det kan ta några minuter att skapa den virtuella datorn. När den virtuella datorn skapats visar Azure CLI information om den virtuella datorn. Anteckna , den publicIpAddresshär adressen kan användas för att komma åt den virtuella datorn.

{
  "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"
}

Ansluta till virtuella datorer

Du kan nu ansluta till den virtuella datorn via SSH i Azure Cloud Shell eller från den lokala datorn. Byt ut IP-adressen i exemplet mot den publicIpAddress du skrev upp i föregående steg.

ssh azureuser@52.174.34.95

När du loggat in i den virtuella datorn kan du installera och konfigurera program. När du är klar stänger du SSH-sessionen på vanligt sätt:

exit

Förstå VM-avbildningar

Azure Marketplace innehåller många avbildningar som kan användas för att skapa virtuella datorer. I de föregående stegen skapades en virtuell dator med en Ubuntu-avbildning. I det här steget används Azure CLI för att söka i marknadsplatsen efter en CentOS-avbildning som sedan används för att distribuera en andra virtuella dator.

Du kan lista de vanligaste avbildningarna med kommandot az vm image list.

az vm image list --output table

Kommandot returnerar de populäraste avbildningarna av virtuella datorer på 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

Du kan se en fullständig lista genom att lägga till parametern --all . Listan med avbildningar kan även filtreras efter --publisher eller –-offer. I det här exemplet filtreras listan för alla bilder, publicerade av OpenLogic, med ett erbjudande som matchar CentOS.

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

Exempel på partiella utdata:

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

Kommentar

Canonical har ändrat de erbjudandenamn som de använder för de senaste versionerna. Före Ubuntu 20.04 är erbjudandenamnet UbuntuServer. För Ubuntu 20.04 är 0001-com-ubuntu-server-focal erbjudandenamnet och för Ubuntu 22.04 är 0001-com-ubuntu-server-jammydet .

Om du vill distribuera en virtuell dator med en specifik avbildning, antecknar du värdet i Urn-kolumnen vilken består av utgivare, erbjudande, SKU och eventuellt ett versionsnummer för att identifiera avbildningen. När du anger avbildningen kan avbildningsversionsnumret ersättas med latest, som väljer den senaste versionen av distributionen. I det här exemplet används parametern --image för att ange den senaste versionen av centOS 8.5.

az vm create --resource-group myResourceGroupVM --name myVM2 --image OpenLogic:CentOS:8_5:latest --generate-ssh-keys

Förstå VM-storlekar

Storleken på den virtuella datorn avgör hur mycket av beräkningsresurser som CPU, GPU och minne som är tillgängliga för den virtuella datorn. Virtuella datorer måste ha lämplig storlek för förväntad arbetsbelastning. Om arbetsbelastningen ökar kan man ändra storlek på den befintliga virtuella datorn.

VM-storlekar

I följande tabell kategoriseras storlekarna i användningsfall.

Typ Beskrivning
Generell användning Balanserat förhållande mellan processor och minne. Perfekt för utveckling eller test samt små till medelstora lösningar för program och data.
Beräkningsoptimerad Högt förhållande mellan processor och minne. Bra för program med medelhög trafik, nätverkstillämpningar och batchprocesser.
Minnesoptimerad Högt förhållande mellan minne och kärna. Utmärkt för relationsdatabaser, mellanstora till stora cacheminnen och minnesinterna analyser.
Lagringsoptimerad Högt diskgenomflöde och I/O. Perfekt för stordata, SQL- och NoSQL-databaser.
GPU Virtuella specialdatorer som är avsedda för tung grafisk rendering och videoredigering.
Höga prestanda Virtuella datorer med de kraftfullaste processorerna och nätverksgränssnitt för stora dataflöden (RDMA).

Hitta tillgängliga VM-storlekar

Om du vill se en lista med VM-storlekar som är tillgängliga i en viss region kan du använda kommandot az vm list-sizes.

az vm list-sizes --location eastus2 --output table

Exempel på partiella utdata:

  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

Skapa en virtuell dator med en specifik storlek

I föregående exempel angavs inte en storlek vilket ger en standardstorlek på den virtuella datorn. En VM-storlek kan väljas när den skapas med hjälp av az vm create och parametern --size .

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM3 \
    --image SuseSles15SP3 \
    --size Standard_D2ds_v4  \
    --generate-ssh-keys

Ändra storlek på en virtuell dator

När en virtuell dator har distribuerats kan storleken ändras för att öka eller minska resurstilldelningen. Kommandot az vm show visar den virtuella datorns aktuella storlek:

az vm show --resource-group myResourceGroupVM --name myVM --query hardwareProfile.vmSize

Kontrollera om önskad storlek är tillgänglig i det aktuella Azure-klustret innan du ändrar storleken på en virtuell dator. Kommandot az vm list-vm-resize-options returnerar en lista med storlekar.

az vm list-vm-resize-options --resource-group myResourceGroupVM --name myVM --query [].name

Om önskad storlek är tillgänglig kan storleken på den virtuella datorn ändras medan den är igång, men den startas om under åtgärden. Använd kommandot az vm resize för att ändra storleken.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_D4s_v3

Om önskad storlek inte finns i det aktuella klustret måste den virtuella datorn frigöras innan åtgärden för att ändra storlek kan utföras. Använd kommandot az vm deallocate för att stoppa och frigöra den virtuella datorn. När den virtuella datorn startas igen kan alla data på den temporära disken tas bort. Den offentliga IP-adressen ändras också om inte en statisk IP-adress används.

az vm deallocate --resource-group myResourceGroupVM --name myVM

När datorn är frigjord kan storleksändringen utföras.

az vm resize --resource-group myResourceGroupVM --name myVM --size Standard_GS1

När storleksändringen utförts kan den virtuella datorn startas.

az vm start --resource-group myResourceGroupVM --name myVM

Energinivåer för VM

En virtuell Azure-dator kan ha en av många energinivåer. Det här tillståndet motsvarar aktuellt tillstånd för den virtuella datorn i hypervisor-programmet.

Energinivåer

Energinivå beskrivning
Startar Anger att den virtuella datorn startas.
Körs Anger att den virtuella datorn körs.
Stoppas Anger att den virtuella datorn stoppas.
Stoppat Anger att den virtuella datorn har stoppats. Virtuella datorer i ett stoppat tillstånd kan fortfarande medföra debitering.
Frigör Anger att den virtuella datorn frigörs.
Frigjord Anger att den virtuella datorn är frånkopplad från hypervisor-programmet, men att den fortfarande är tillgänglig i kontrollplanet. Virtuella datorer med tillståndet Frigjord medför inte några debiteringar.
- Anger att energinivån för den virtuella datorn är okänd.

Hitta energinivån

Om du vill hämta tillståndet för en viss virtuell dator, använder du kommandot az vm get instance-view. Du måste ange ett giltigt namn för en virtuell dator och resursgrupp.

az vm get-instance-view \
    --name myVM \
    --resource-group myResourceGroupVM \
    --query instanceView.statuses[1] --output table

Utdata:

Code                Level    DisplayStatus
------------------  -------  ---------------
PowerState/running  Info     VM running

Om du vill hämta energitillståndet för alla virtuella datorer i din prenumeration använder du Virtual Machines – List All API med parameterstatusEnligtinställd på true.

Administrativa uppgifter

Under livscykeln för en virtuell dator kan du vilja utföra administrativa uppgifter som att starta, stoppa eller ta bort en virtuell dator. Dessutom kanske du vill skapa skript för att automatisera repetitiva och komplicerade uppgifter. Med Azure CLI kan många vanliga administrativa uppgifter köras från kommandoraden eller i skript.

Hämta IP-adress

Det här kommandot returnerar de privata och offentliga IP-adresserna för en virtuell dator.

az vm list-ip-addresses --resource-group myResourceGroupVM --name myVM --output table

Stoppa virtuell dator

az vm stop --resource-group myResourceGroupVM --name myVM

Starta virtuell dator

az vm start --resource-group myResourceGroupVM --name myVM

Ta bort vm-resurser

Beroende på hur du tar bort en virtuell dator kan den bara ta bort den virtuella datorresursen, inte nätverks- och diskresurserna. Du kan ändra standardbeteendet för att ta bort andra resurser när du tar bort den virtuella datorn. Mer information finns i Ta bort en virtuell dator och anslutna resurser.

Om du tar bort en resursgrupp tas även alla resurser i resursgruppen bort, till exempel den virtuella datorn, det virtuella nätverket och disken. Parametern --no-wait återför kontrollen till kommandotolken utan att vänta på att uppgiften slutförs. Parametern --yes bekräftar att du vill ta bort resurserna utan att tillfrågas ytterligare en gång.

az group delete --name myResourceGroupVM --no-wait --yes

Nästa steg

I den här självstudien har du lärt dig om grundläggande VM-skapande och hantering, till exempel att:

  • Skapa och ansluta till en virtuell dator
  • Välja och använda VM-avbildningar
  • Visa och använda specifika VM-storlekar
  • Ändra storlek på en virtuell dator
  • Visa och förstå tillstånd för virtuella datorer

Gå vidare till nästa självstudie om du vill lära dig mer om diskar i virtuella dator.