Kurz: Vytvoření a správa škálovací sady virtuálních počítačů pomocí Azure CLI

Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ Windows virtuální počítače:heavy_check_mark: Jednotné škálovací sady

Škálovací sada virtuálních počítačů umožňuje nasadit a spravovat sadu identických virtuálních počítačů s automatickým škálováním. V průběhu životního cyklu škálovací sady virtuálních počítačů možná budete potřebovat spustit jednu nebo více úloh správy. Co se v tomto kurzu naučíte:

  • Vytvoření škálovací sady virtuálních počítačů a připojení k ní
  • Výběr a použití imagí virtuálních počítačů
  • Zobrazení a použití specifických velikostí instancí virtuálních počítačů
  • Ruční škálování škálovací sady
  • Provádění běžných úloh správy škálovací sady

Pokud ještě nemáte předplatné Azure,vytvořte si bezplatný účet před tím, než začnete.

Požadavky

  • V nástroji použijte prostředí Bash Azure Cloud Shell.

    Spuštění služby Cloud Shell v novém okně

  • Pokud tomu dáváte přednost, můžete nainstalovat Azure CLI a spouštět referenční příkazy CLI.

    • Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení jsou popsané v tématu Přihlášení pomocí Azure CLI.

    • Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.

    • Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.

  • Tento článek vyžaduje azure CLI verze 2.0.29 nebo novější. Pokud používáte Azure Cloud Shell, je už nainstalovaná nejnovější verze.

Vytvoření skupiny prostředků

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 škálovací sady virtuálních počítačů. Vytvořte skupinu prostředků pomocí příkazu az group create. V tomto příkladu se vytvoří skupina prostředků myResourceGroup v oblasti eastus.

az group create --name myResourceGroup --location eastus

Název skupiny prostředků zadáte při vytváření nebo úpravě škálovací sady v rámci tohoto kurzu.

Vytvoření škálovací sady

Škálovací sadu virtuálních počítačů vytvoříte pomocí příkazu az vmss create. Následující příklad vytvoří škálovací sadu myScaleSet a vygeneruje klíče SSH, pokud ještě neexistují:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image UbuntuLTS \
  --admin-username azureuser \
  --generate-ssh-keys

Vytvoření a konfigurace všech prostředků škálovací sady a instancí virtuálních počítačů trvá několik minut. Za účelem distribuce provozu do jednotlivých instancí virtuálních počítačů se vytvoří také nástroj pro vyrovnávání zatížení.

Zobrazení instancí virtuálních počítačů ve škálovací sadě

Pokud chcete zobrazit seznam instancí virtuálních počítačů ve škálovací sadě, použijte příkaz az vmss list-instances následujícím způsobem:

az vmss list-instances \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --output table

Následující příklad výstupu ukazuje dvě instance virtuálních počítačů ve škálovací sadě:

  InstanceId  LatestModelApplied    Location    Name          ProvisioningState    ResourceGroup    VmId
------------  --------------------  ----------  ------------  -------------------  ---------------  ------------------------------------
           1  True                  eastus      myScaleSet_1  Succeeded            MYRESOURCEGROUP  c059be0c-37a2-497a-b111-41272641533c
           3  True                  eastus      myScaleSet_3  Succeeded            MYRESOURCEGROUP  ec19e7a7-a4cd-4b24-9670-438f4876c1f9

První sloupec ve výstupu se ukazuje InstanceId (ID instance). Pokud chcete zobrazit další informace o konkrétní instanci virtuálního počítače, přidejte k příkazu az vmss get-instance-view parametr --instance-id. Následující příklad zobrazí informace o instanci virtuálního počítače 1:

az vmss get-instance-view \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --instance-id 1

Výpis informací o připojení

K nástroji pro vyrovnávání zatížení, který směruje provoz do jednotlivých instancí virtuálních počítačů, se přiřadí veřejná IP adresa. Ve výchozím nastavení se k nástroji pro vyrovnávání zatížení Azure, který směruje provoz vzdáleného připojení do jednotlivých virtuálních počítačů na daném portu, přidají pravidla překladu adres (NAT). Pokud se chcete připojit k instancím virtuálních počítačů ve škálovací sadě, vytvořte vzdálené připojení k přiřazené veřejné IP adrese a číslu portu.

Pokud chcete vypsat adresu a porty pro připojení k instancím virtuálních počítačů ve škálovací, použijte příkaz az vmss list-instance-connection-info:

az vmss list-instance-connection-info \
  --resource-group myResourceGroup \
  --name myScaleSet

Následující příklad výstupu ukazuje název instance, veřejnou IP adresu nástroje pro vyrovnávání zatížení a číslo portu, na které pravidla překladu adres směrují provoz:

{
  "instance 1": "13.92.224.66:50001",
  "instance 3": "13.92.224.66:50003"
}

Připojte se přes SSH k první instanci virtuálního počítače. Pomocí parametru -p zadejte veřejnou IP adresu a číslo portu uvedené ve výstupu předchozího příkazu:

ssh azureuser@13.92.224.66 -p 50001

Po přihlášení k instanci virtuálního počítače můžete podle potřeby provést ruční změny konfigurace. Prozatím relaci SSH normálně ukončete:

exit

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

Při vytváření škálovací sady na začátku kurzu jste pro instance virtuálních počítačů zadali parametr --image s hodnotou UbuntuLTS. Azure Marketplace obsahuje mnoho imagí, které je možné použít k vytváření instancí virtuálních 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

Následující příklad výstupu ukazuje nejběžnější image virtuálních počítačů v Azure. K zadání některé z těchto běžných imagí při vytváření škálovací sady je možné použít UrnAlias.

Offer          Publisher               Sku                 Urn                                                             UrnAlias             Version
-------------  ----------------------  ------------------  --------------------------------------------------------------  -------------------  ---------
CentOS         OpenLogic               7.3                 OpenLogic:CentOS:7.3:latest                                     CentOS               latest
CoreOS         CoreOS                  Stable              CoreOS:CoreOS:Stable:latest                                     CoreOS               latest
Debian         credativ                8                   credativ:Debian:8:latest                                        Debian               latest
openSUSE-Leap  SUSE                    42.2                SUSE:openSUSE-Leap:42.2:latest                                  openSUSE-Leap        latest
RHEL           RedHat                  7.3                 RedHat:RHEL:7.3:latest                                          RHEL                 latest
SLES           SUSE                    12-SP2              SUSE:SLES:12-SP2:latest                                         SLES                 latest
UbuntuServer   Canonical               16.04-LTS           Canonical:UbuntuServer:16.04-LTS:latest                         UbuntuLTS            latest
WindowsServer  MicrosoftWindowsServer  2016-Datacenter     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest     Win2016Datacenter    latest
WindowsServer  MicrosoftWindowsServer  2012-R2-Datacenter  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest  Win2012R2Datacenter  latest
WindowsServer  MicrosoftWindowsServer  2012-Datacenter     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest     Win2012Datacenter    latest
WindowsServer  MicrosoftWindowsServer  2008-R2-SP1         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest         Win2008R2SP1         latest

Pokud chcete zobrazit úplný seznam, přidejte argument --all. Seznam imagí je také možné filtrovat podle parametrů --publisher nebo –-offer. V následujícím příkladu se v seznamu vyfiltrují všechny image, jejichž nabídka (parametr offer) je CentOS:

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

Následující zkrácený výstup ukazuje několik dostupných imagí CentOS 7.3:

Offer    Publisher   Sku   Urn                                 Version
-------  ----------  ----  ----------------------------------  -------------
CentOS   OpenLogic   7.3   OpenLogic:CentOS:7.3:7.3.20161221   7.3.20161221
CentOS   OpenLogic   7.3   OpenLogic:CentOS:7.3:7.3.20170421   7.3.20170421
CentOS   OpenLogic   7.3   OpenLogic:CentOS:7.3:7.3.20170517   7.3.20170517
CentOS   OpenLogic   7.3   OpenLogic:CentOS:7.3:7.3.20170612   7.3.20170612
CentOS   OpenLogic   7.3   OpenLogic:CentOS:7.3:7.3.20170707   7.3.20170707
CentOS   OpenLogic   7.3   OpenLogic:CentOS:7.3:7.3.20170925   7.3.20170925

Pokud chcete nasadit škálovací sadu používající konkrétní image, použijte hodnotu ve sloupci Urn. Při zadávání image můžete její číslo verze nahradit klíčovým slovem latest. To zajistí, aby se vybrala nejnovější verze dané distribuce. V následujícím příkladu pomocí argumentu --image určíme nejnovější verzi image CentOS 7.3.

Důležité

Doporučujeme použít nejnovější verzi image. Pokud chcete používat nejnovější verzi image dostupné v době nasazení, zadejte latest. Všimněte si, že i když použijete nejnovější verzi, image virtuálního počítače se po nasazení automaticky ne aktualizuje, i když bude dostupná nová verze.

Vzhledem k tomu, že vytvoření a konfigurace všech prostředků škálovací sady a instancí virtuálních počítačů trvá několik minut, následující škálovací sadu nasazovat nemusíte:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSetCentOS \
  --image OpenLogic:CentOS:7.3:latest \
  --admin-user azureuser \
  --generate-ssh-keys

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

Velikost instance virtuálního počítače neboli skladová položka určuje množství výpočetních prostředků, jako jsou procesor, grafický procesor a paměť, které jsou pro instanci virtuálního počítače k dispozici. Velikost instancí virtuálních počítačů ve škálovací sadě je třeba správně určit podle očekávané pracovní zátěže.

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

V následující tabulce jsou běžné velikosti virtuálních počítačů rozdělené podle způsobů použití.

Typ Běžné velikosti Popis
Obecné účely Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7 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 Fs, F 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ěť Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D 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ě Ls Vysoká propustnost disku a V/V. Ideální pro databáze NoSQL, SQL a velké objemy dat.
GPU NV, NC Specializované virtuální počítače určené pro náročné vykreslování grafiky a úpravy videa.
Vysoký výkon H, A8-11 Naše procesorově nejvýkonnější virtuální počítače s volitelnými síťovými rozhraními s vysokou propustností (RDMA).

Vyhledání dostupných velikostí instancí virtuálních počítačů

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

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

Výstup se podobá následujícímu zhuštěnému příkladu, který ukazuje prostředky přiřazené k jednotlivým velikostem virtuálních počítačů:

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
                 4          3584  Standard_DS1_v2                       1           1047552                    7168
                 8          7168  Standard_DS2_v2                       2           1047552                   14336
[...]
                 1           768  Standard_A0                           1           1047552                   20480
                 2          1792  Standard_A1                           1           1047552                   71680
[...]
                 4          2048  Standard_F1                           1           1047552                   16384
                 8          4096  Standard_F2                           2           1047552                   32768
[...]
                24         57344  Standard_NV6                          6           1047552                   38912
                48        114688  Standard_NV12                        12           1047552                  696320

Vytvoření škálovací sady s konkrétní velikostí instancí virtuálních počítačů

Při vytváření škálovací sady na začátku kurzu jste pro instance virtuálních počítačů zadali výchozí skladovou položku virtuálního počítače Standard_D1_v2. Na základě výstupu příkazu az vm list-sizes můžete zadat jinou velikost instancí virtuálních počítačů. Následující příklad vytvoří škálovací sadu s použitím parametru --vm-sku, který určí velikost instancí virtuálních počítačů Standard_F1. Vzhledem k tomu, že vytvoření a konfigurace všech prostředků škálovací sady a instancí virtuálních počítačů trvá několik minut, následující škálovací sadu nasazovat nemusíte:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSetF1Sku \
  --image UbuntuLTS \
  --vm-sku Standard_F1 \
  --admin-user azureuser \
  --generate-ssh-keys

Změna kapacity škálovací sady

Při vytváření škálovací sady na začátku kurzu se ve výchozím nastavení nasadily dvě instance virtuálních počítačů. Počet instancí vytvořených se škálovací sadou můžete změnit zadáním parametru --instance-count u příkazu az vmss create. Pokud chcete zvýšit nebo snížit počet instancí virtuálních počítačů v existující škálovací sadě, můžete ručně změnit kapacitu. Škálovací sada vytvoří nebo odebere požadovaný počet instancí virtuálních počítačů a pak nakonfiguruje nástroj pro vyrovnávání zatížení pro distribuci provozu.

Pokud chcete ručně zvýšit nebo snížit počet instancí virtuálních počítačů ve škálovací sadě, použijte příkaz az vmss scale. Následující příklad nastaví počet instancí virtuálních počítačů ve vaší škálovací sadě na 3:

az vmss scale \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --new-capacity 3

Aktualizace kapacity škálovací sady trvá několik minut. Pokud chcete zobrazit počet instancí, které teď máte ve škálovací sadě, použijte příkaz az vmss show s dotazem na sku.capacity:

az vmss show \
    --resource-group myResourceGroup \
    --name myScaleSet \
    --query [sku.capacity] \
    --output table

Běžné úlohy správy

Teď můžete vytvořit škálovací sadu, vypsat informace o připojení a připojit se k instancím virtuálních počítačů. Zjistili jste, jak pro instance virtuálních počítačů použít jinou image operačního systému, vybrat jinou velikost virtuálních počítačů nebo ručně škálovat počet instancí. V rámci každodenní správy můžete potřebovat zastavit, spustit nebo restartovat instance virtuálních počítačů ve své škálovací sadě.

Zastavení a uvolnění instancí virtuálních počítačů ve škálovací sadě

Pokud chcete zastavit jednu nebo několik instancí virtuálních počítačů ve škálovací sadě, použijte příkaz az vmss stop. Pomocí parametru --instance-ids můžete zadat jednu nebo několik instancí virtuálních počítačů, které se mají zastavit. Pokud nezadáte ID instance, zastaví se všechny instance virtuálních počítačů ve škálovací sadě. Následující příklad zastaví instanci 1:

az vmss stop --resource-group myResourceGroup --name myScaleSet --instance-ids 1

Zastavené instance virtuálních počítačů zůstanou přidělené a nadále se u nich účtují poplatky za výpočty. Pokud místo toho chcete instance virtuálních počítačů uvolnit, aby se vám účtovaly pouze poplatky za úložiště, použijte příkaz az vmss deallocate. Následující příklad zastaví a uvolní instanci 1:

az vmss deallocate --resource-group myResourceGroup --name myScaleSet --instance-ids 1

Spuštění instancí virtuálních počítačů ve škálovací sadě

Pokud chcete spustit jednu nebo několik instancí virtuálních počítačů ve škálovací sadě, použijte příkaz az vmss start. Pomocí parametru --instance-ids můžete zadat jednu nebo několik instancí virtuálních počítačů, které se mají spustit. Pokud nezadáte ID instance, spustí se všechny instance virtuálních počítačů ve škálovací sadě. Následující příklad spustí instanci 1:

az vmss start --resource-group myResourceGroup --name myScaleSet --instance-ids 1

Restartování instancí virtuálních počítačů ve škálovací sadě

Pokud chcete restartovat jednu nebo několik instancí virtuálních počítačů ve škálovací sadě, použijte příkaz az vmss restart. Pomocí parametru --instance-ids můžete zadat jednu nebo několik instancí virtuálních počítačů, které se mají restartovat. Pokud nezadáte ID instance, restartují se všechny instance virtuálních počítačů ve škálovací sadě. Následující příklad restartuje instanci 1:

az vmss restart --resource-group myResourceGroup --name myScaleSet --instance-ids 1

Vyčištění prostředků

Když odstraníte skupinu prostředků, odstraní se také všechny prostředky v ní obsažené, například instance virtuálních počítačů, virtuální síť a disky. 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 myResourceGroup --no-wait --yes

Další kroky

V tomto kurzu jste zjistili, jak provádět několik běžných úloh vytvoření a správy škálovací sady pomocí Azure CLI:

  • Vytvoření škálovací sady virtuálních počítačů a připojení k ní
  • Výběr a použití imagí virtuálních počítačů
  • Zobrazení a použití specifických velikostí virtuálních počítačů
  • Ruční škálování škálovací sady
  • Provádění běžných úloh správy škálovací sady

V dalším kurzu se dozvíte něco o discích škálovacích sad.