Kurz: Vytváření a správa virtuálních počítačů s Linuxem pomocí Azure CLI

Upozornění

Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec životnosti (EOL). Zvažte své použití a odpovídajícím způsobem naplánujte. Další informace najdete v doprovodných materiálech CentOS End Of Life.

Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️

Virtuální počítače Azure poskytují plně konfigurovatelné a flexibilní výpočetní prostředí. Tento kurz se zaměřuje na základní kroky při nasazování virtuálních počítačů, jako jsou výběr velikosti virtuálního počítače, výběr image virtuálního počítače a nasazení virtuálního počítače. Získáte informace pro:

  • Vytvoření a připojení virtuálního počítače
  • Výběr a použití imagí virtuálních počítačů
  • Zobrazení a použití specifických velikostí virtuálních počítačů
  • Změna velikosti virtuálního počítače
  • Zobrazení a pochopení stavu virtuálního počítače

V tomto kurzu se používá rozhraní příkazového řádku v Azure Cloud Shellu, které se neustále aktualizuje na nejnovější verzi.

Pokud se rozhodnete nainstalovat a používat rozhraní příkazového řádku místně, musíte mít Azure CLI verze 2.0.30 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Vytvořit skupinu zdrojů

Vytvořte skupinu prostředků pomocí příkazu az group create.

Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure. Skupina prostředků musí být vytvořená už před vytvořením virtuálního počítače. V tomto příkladu se vytvoří skupina prostředků myResourceGroupVM v oblasti eastus2 .

az group create --name myResourceGroupVM --location eastus2

Skupinu prostředků je třeba zadat při vytváření nebo úpravách virtuálního počítače, což uvidíte dále v tomto kurzu.

Vytvoření virtuálního počítače

Vytvořte virtuální počítač pomocí příkazu az vm create.

Při vytváření virtuálního počítače máte k dispozici několik možností, jako jsou image operačního systému, velikost disku a přihlašovací údaje pro správu. Následující příklad vytvoří virtuální počítač s názvem myVM , na kterém běží SUSE Linux Enterprise Server (SLES). Ve virtuálním počítači se vytvoří uživatelský účet s názvem azureuser a vygenerují se klíče SSH, pokud neexistují ve výchozím umístění klíčů (~/.ssh):

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

Vytvoření virtuálního počítače může několik minut trvat. Po vytvoření virtuálního počítače o něm Azure CLI vypíše informace. Poznamenejte si publicIpAddresstuto adresu, která se dá použít pro přístup k virtuálnímu počítači.

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

Připojení k virtuálnímu počítači

Nyní se můžete k virtuálnímu počítači připojit pomocí protokolu SSH ve službě Azure Cloud Shell nebo z místního počítače. Ukázkovou IP adresu nahraďte hodnotou publicIpAddress, kterou jste si poznamenali v předchozím kroku.

ssh azureuser@52.174.34.95

Po přihlášení k virtuálnímu počítači můžete nainstalovat a nakonfigurovat aplikace. Po dokončení zavřete relaci SSH obvyklým způsobem:

exit

Vysvětlení imagí virtuálních počítačů

Azure Marketplace obsahuje mnoho imagí, které je možné použít k vytváření virtuálních počítačů. V předchozích krocích jsme vytvořili virtuální počítač pomocí image Ubuntu. V tomto kroku pomocí Azure CLI vyhledáme na webu Marketplace image CentOS, kterou pak použijeme k nasazení druhého virtuálního počítače.

Pokud chcete zobrazit seznam nejčastěji používaných imagí, použijte příkaz az vm image list.

az vm image list --output table

Příkaz vrátí nejoblíbenější image virtuálních počítačů v 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

Úplný seznam můžete zobrazit přidáním parametru --all . Seznam imagí je také možné filtrovat podle parametrů --publisher nebo –-offer. V tomto příkladu se seznam filtruje pro všechny obrázky publikované openlogicem s nabídkou, která odpovídá CentOS.

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

Příklad částečného výstupu:

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

Poznámka:

Canonical změnil názvy nabídek , které používají pro nejnovější verze. Před Ubuntu 20.04 je název nabídky UbuntuServer. Pro Ubuntu 20.04 název nabídky je 0001-com-ubuntu-server-focal a pro Ubuntu 22.04 je 0001-com-ubuntu-server-jammyto .

Pokud chcete nasadit virtuální počítač s použitím konkrétní image, poznamenejte si hodnotu ve sloupci Urn, která se skládá z vydavatele, nabídky, skladové položky a volitelně čísla verze pro identifikaci image. Při zadávání image může být číslo verze image nahrazeno číslem latest, který vybere nejnovější verzi distribuce. V tomto příkladu --image se parametr používá k určení nejnovější verze CentOS 8.5.

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

Vysvětlení velikostí virtuálních počítačů

Velikost virtuálního počítače určuje množství výpočetních prostředků, jako jsou procesor, grafický procesor a paměť, které jsou pro virtuální počítač k dispozici. Velikost virtuálních počítačů je třeba správně určit podle očekávané pracovní zátěže. Pokud se pracovní zátěž zvýší, je možné velikost existujícího virtuálního počítače změnit.

Velikosti virtuálních počítačů

V následující tabulce jsou velikosti rozdělené podle způsobů použití.

Typ Popis
Obecné účely Vyvážený poměr procesorů k paměti. Ideální pro vývoj nebo testování a pro malé až střední řešení aplikací a dat.
Optimalizované pro výpočty Vysoký poměr procesorů k paměti. Vhodné pro aplikace se středním provozem, síťová zařízení a dávkové procesy.
Optimalizované pro paměť Vysoký poměr paměti k jádrům. Velmi vhodné pro relační databáze, střední a velké mezipaměti a analýzu v paměti.
Optimalizované pro úložiště Vysoká propustnost disku a V/V. Ideální pro databáze NoSQL, SQL a velké objemy dat.
GPU Specializované virtuální počítače určené pro náročné vykreslování grafiky a úpravy videa.
Vysoký výkon Naše procesorově nejvýkonnější virtuální počítače s volitelnými síťovými rozhraními s vysokou propustností (RDMA).

Zjištění dostupných velikostí virtuálních počítačů

Pokud chcete zobrazit seznam velikostí virtuálních počítačů dostupných v konkrétní oblasti, použijte příkaz az vm list-sizes.

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

Příklad částečného výstupu:

  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

Vytvoření virtuálního počítače s konkrétní velikostí

V předchozím příkladu vytvoření virtuálního počítače jsme nezadali velikost, takže se použila výchozí velikost. Velikost virtuálního počítače je možné vybrat při vytváření pomocí příkazu az vm create a parametru --size .

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

Změna velikosti virtuálního počítače

Po nasazení virtuálního počítače můžete jeho velikost změnit, čímž se zvýší nebo sníží přidělení prostředků. Aktuální velikost virtuálního počítače je možné zobrazit pomocí příkazu az vm show:

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

Před změnou velikosti virtuálního počítače zkontrolujte, jestli je požadovaná velikost dostupná v aktuálním clusteru Azure. Seznam velikostí můžete získat pomocí příkazu az vm list-vm-resize-options.

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

Pokud je požadovaná velikost dostupná, dá se velikost virtuálního počítače změnit i za provozu, ale během této operace se bude vyžadovat restartování. Ke změně velikosti použijte příkaz az vm resize.

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

Pokud požadovaná velikost není v aktuálním clusteru, je třeba napřed zrušit přidělení virtuálního počítače, aby mohla změna velikosti proběhnout. K zastavení a zrušení přidělení virtuálního počítače použijte příkaz az vm deallocate. Upozorňujeme, že až se virtuální počítač zase zapne, můžou na něm být odebraná všechna data na dočasném disku. Změní se také jeho veřejná IP adresa, pokud nepoužíváte statickou IP adresu.

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

Po zrušení přidělení může proběhnout změna velikosti.

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

Po změně velikosti se může virtuální počítač zase spustit.

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

Stavy napájení virtuálního počítače

Virtuální počítač Azure může mít jeden z mnoha stavů napájení. Tento stav představuje aktuální stav virtuálního počítače z pohledu hypervisoru.

Stavy napájení

Stav napájení Popis
Spouštění Označuje, že virtuální počítač se právě spouští.
Spuštěno Označuje, že virtuální počítač běží (je spuštěný).
Zastavování Označuje, že virtuální počítač se právě zastavuje.
Zastaveno Označuje, že virtuální počítač je zastavený. Poplatky za výpočetní výkon se účtují i za virtuální počítače v zastaveném stavu.
Rušení přidělení Označuje, že se právě ruší přidělení virtuálního počítače.
Přidělení zrušeno Označuje, že virtuální počítač je odebraný z hypervisoru, ale stále je dostupný v rovině řízení. Za virtuální počítače ve stavu zrušeného přidělení se poplatky za výpočetní výkon neúčtují.
- Označuje, že stav napájení virtuálního počítače není známý.

Vyhledání stavu napájení

Pokud chcete zjistit stav konkrétního virtuálního počítače, použijte příkaz az vm get-instance-view. Nezapomeňte zadat platný název virtuálního počítače a skupiny prostředků.

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

Výstup:

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

Pokud chcete načíst stav napájení všech virtuálních počítačů ve vašem předplatném, použijte Virtual Machines – Výpis všech rozhraní API se stavem parametruOnly nastaveným na true.

Úlohy správy

Během životního cyklu virtuálního počítače možná budete potřebovat provádět úlohy správy, jako jsou spuštění, zastavení nebo odstranění virtuálního počítače. Možná také budete chtít vytvořit skripty pro automatizaci opakovaných nebo komplexních úloh. Pomocí Azure CLI se dá mnoho běžných úloh správy spustit z příkazového řádku nebo ve skriptech.

Zjištění IP adresy

Tento příkaz vrátí privátní a veřejnou IP adresu virtuálního počítače.

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

Zastavit virtuální počítač

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

Spustit virtuální počítač

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

Odstranění prostředků virtuálního počítače

V závislosti na tom, jak odstraníte virtuální počítač, může odstranit pouze prostředek virtuálního počítače, nikoli síťové a diskové prostředky. Výchozí chování můžete změnit tak, aby se při odstraňování virtuálního počítače odstranily další prostředky. Další informace najdete v tématu Odstranění virtuálního počítače a připojených prostředků.

Odstraněním skupiny prostředků se odstraní také všechny prostředky ve skupině prostředků, jako je virtuální počítač, virtuální síť a disk. Parametr --no-wait vrátí řízení na příkazový řádek bez čekání na dokončení operace. Parametr --yes potvrdí, že chcete prostředky odstranit, aniž by se na to zobrazoval další dotaz.

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

Další kroky

V tomto kurzu jste se dozvěděli o základních úkolech při vytváření a správě virtuálních počítačů, jako jsou:

  • Vytvoření a připojení virtuálního počítače
  • Výběr a použití imagí virtuálních počítačů
  • Zobrazení a použití specifických velikostí virtuálních počítačů
  • Změna velikosti virtuálního počítače
  • Zobrazení a pochopení stavu virtuálního počítače

V dalším kurzu se dozvíte něco o discích virtuálních počítačů.