Kurz: Vytváření a správa virtuálních počítačů s Linuxem pomocí Azure CLITutorial: Create and Manage Linux VMs with the Azure CLI

Virtuální počítače Azure poskytují plně konfigurovatelné a flexibilní výpočetní prostředí.Azure virtual machines provide a fully configurable and flexible computing environment. 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.This tutorial covers basic Azure virtual machine deployment items such as selecting a VM size, selecting a VM image, and deploying a VM. Získáte informace o těchto tématech:You learn how to:

  • Vytvoření a připojení virtuálního počítačeCreate and connect to a VM
  • Výběr a použití imagí virtuálních počítačůSelect and use VM images
  • Zobrazení a použití specifických velikostí virtuálních počítačůView and use specific VM sizes
  • Změna velikosti virtuálního počítačeResize a VM
  • Zobrazení a pochopení stavu virtuálního počítačeView and understand VM state

Použití služby Azure Cloud ShellUse Azure Cloud Shell

Hostitelé Azure Azure Cloud Shell interaktivní prostředí prostředí, které můžete používat v prohlížeči.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Cloud Shell vám umožní pracovat se bash službami PowerShell Azure pomocí nebo.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Můžete použít Cloud Shell předinstalované příkazy ke spuštění kódu v tomto článku, aniž byste museli instalovat cokoli do svého místního prostředí.You can use the Cloud Shell pre-installed commands to run the code in this article without having to install anything on your local environment.

Spuštění Azure Cloud Shell:To launch Azure Cloud Shell:

MožnostOption Příklad nebo propojeníExample/Link
Zvolte Vyzkoušet v pravém horním rohu bloku kódu.Select Try It in the upper-right corner of a code block. Při výběru možnosti vyzkoušet se kód automaticky nezkopíruje do Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Příklad pokusu o Azure Cloud Shell
V prohlížeči otevřete Cloud Shell kliknutím na tlačítko Spustit Cloud Shell. https://shell.azure.comGo to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Spustit Cloud Shell v novém okněLaunch Cloud Shell in a new window
Vyberte tlačítko Cloud Shell v pravém horním panelu nabídek v Azure Portal.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Tlačítko Cloud Shell na webu Azure Portal

Chcete-li spustit kód v tomto článku v Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Spusťte Cloud Shell.Launch Cloud Shell.

  2. Vyberte tlačítko Kopírovat na bloku kódu ke zkopírování kódu.Select the Copy button on a code block to copy the code.

  3. Vložte kód do relace Cloud Shell stisknutím kombinace kláves CTRL+SHIFT+v v systému Windows a Linux nebo příkazem cmd+SHIFT+v v MacOS.Paste the code into the Cloud Shell session with Ctrl+Shift+V on Windows and Linux, or Cmd+Shift+V on macOS.

  4. Stiskněte klávesu ENTER pro spuštění kódu.Press Enter to run the code.

Pokud se rozhodnete nainstalovat a místně používat rozhraní příkazového řádku, musíte pro tento kurz mít Azure CLI verze 2.0.30 nebo novější.If you choose to install and use the CLI locally, this tutorial requires that you are running the Azure CLI version 2.0.30 or later. Verzi zjistíte spuštěním příkazu az --version.Run az --version to find the version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.If you need to install or upgrade, see Install Azure CLI.

Vytvoření skupiny prostředkůCreate resource group

Vytvořte skupinu prostředků pomocí příkazu az group create.Create a resource group with the az group create command.

Skupina prostředků Azure je logický kontejner, ve kterém se nasazují a spravují prostředky Azure.An Azure resource group is a logical container into which Azure resources are deployed and managed. Skupina prostředků musí být vytvořená už před vytvořením virtuálního počítače.A resource group must be created before a virtual machine. V tomto příkladu se vytvoří skupina prostředků s názvem myResourceGroupVM v oblasti eastus.In this example, a resource group named myResourceGroupVM is created in the eastus region.

az group create --name myResourceGroupVM --location eastus

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.The resource group is specified when creating or modifying a VM, which can be seen throughout this tutorial.

Vytvoření virtuálního počítačeCreate virtual machine

Vytvořte virtuální počítač pomocí příkazu az vm create.Create a virtual machine with the az vm create command.

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.When you create a virtual machine, several options are available such as operating system image, disk sizing, and administrative credentials. Následující příklad vytvoří virtuální počítač s názvem myVM, na kterém poběží Ubuntu Server.The following example creates a VM named myVM that runs Ubuntu Server. 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):A user account named azureuser is created on the VM, and SSH keys are generated if they do not exist in the default key location (~/.ssh):

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM \
    --image UbuntuLTS \
    --admin-username azureuser \
    --generate-ssh-keys

Vytvoření virtuálního počítače může několik minut trvat.It may take a few minutes to create the VM. Po vytvoření virtuálního počítače o něm Azure CLI vypíše informace.Once the VM has been created, the Azure CLI outputs information about the VM. Poznamenejte si hodnotu publicIpAddress. Pomocí této adresy je možné získat přístup k virtuálnímu počítači.Take note of the publicIpAddress, this address can be used to access the virtual machine..

{
  "fqdns": "",
  "id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus",
  "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čiConnect to VM

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.You can now connect to the VM with SSH in the Azure Cloud Shell or from your local computer. Ukázkovou IP adresu nahraďte hodnotou publicIpAddress, kterou jste si poznamenali v předchozím kroku.Replace the example IP address with the publicIpAddress noted in the previous step.

ssh azureuser@52.174.34.95

Po přihlášení k virtuálnímu počítači můžete nainstalovat a nakonfigurovat aplikace.Once logged in to the VM, you can install and configure applications. Po dokončení zavřete relaci SSH obvyklým způsobem:When you are finished, you close the SSH session as normal:

exit

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

Azure Marketplace obsahuje celou řadu imagí, které jde využít k vytváření virtuálních počítačů.The Azure marketplace includes many images that can be used to create VMs. V předchozích krocích jsme vytvořili virtuální počítač pomocí image Ubuntu.In the previous steps, a virtual machine was created using an Ubuntu image. 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.In this step, the Azure CLI is used to search the marketplace for a CentOS image, which is then used to deploy a second virtual machine.

Pokud chcete zobrazit seznam nejčastěji používaných imagí, použijte příkaz az vm image list.To see a list of the most commonly used images, use the az vm image list command.

az vm image list --output table

Příkaz vrátí nejoblíbenější image virtuálních počítačů v Azure.The command output returns the most popular VM images on Azure.

Offer          Publisher               Sku                 Urn                                                             UrnAlias             Version
-------------  ----------------------  ------------------  --------------------------------------------------------------  -------------------  ---------
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  2008-R2-SP1         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest         Win2008R2SP1         latest
WindowsServer  MicrosoftWindowsServer  2012-Datacenter     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest     Win2012Datacenter    latest
UbuntuServer   Canonical               16.04-LTS           Canonical:UbuntuServer:16.04-LTS:latest                         UbuntuLTS            latest
CentOS         OpenLogic               7.3                 OpenLogic:CentOS:7.3:latest                                     CentOS               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
Debian         credativ                8                   credativ:Debian:8:latest                                        Debian               latest
CoreOS         CoreOS                  Stable              CoreOS:CoreOS:Stable:latest                                     CoreOS               latest

Úplný seznam můžete zobrazit tak, že přidáte argument --all.A full list can be seen by adding the --all argument. Seznam imagí je také možné filtrovat podle parametrů --publisher nebo –-offer.The image list can also be filtered by --publisher or –-offer. V tomto příkladu se v seznamu vyfiltrují všechny image, jejichž nabídka (parametr offer) je CentOS.In this example, the list is filtered for all images with an offer that matches CentOS.

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

Částečný výstup:Partial output:

Offer             Publisher         Sku   Urn                                     Version
----------------  ----------------  ----  --------------------------------------  -----------
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201501         6.5.201501
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201503         6.5.201503
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.201506         6.5.201506
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20150904       6.5.20150904
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20160309       6.5.20160309
CentOS            OpenLogic         6.5   OpenLogic:CentOS:6.5:6.5.20170207       6.5.20170207

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.To deploy a VM using a specific image, take note of the value in the Urn column, which consists of the publisher, offer, SKU, and optionally a version number to identify the image. 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.When specifying the image, the image version number can be replaced with “latest”, which selects the latest version of the distribution. V tomto příkladu pomocí argumentu --image určíme nejnovější verzi image CentOS 6.5.In this example, the --image argument is used to specify the latest version of a CentOS 6.5 image.

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

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

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.A virtual machine size determines the amount of compute resources such as CPU, GPU, and memory that are made available to the virtual machine. Velikost virtuálních počítačů je třeba správně určit podle očekávané pracovní zátěže.Virtual machines need to be sized appropriately for the expected work load. Pokud se pracovní zátěž zvýší, je možné velikost existujícího virtuálního počítače změnit.If workload increases, an existing virtual machine can be resized.

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

V následující tabulce jsou velikosti rozdělené podle způsobů použití.The following table categorizes sizes into use cases.

typeType Běžné velikostiCommon sizes PopisDescription
Obecné účelyGeneral purpose B, Dsv3, Dv3, DSv2, Dv2, Av2, DCB, Dsv3, Dv3, DSv2, Dv2, Av2, DC Vyvážený poměr procesorů k paměti.Balanced CPU-to-memory. Ideální pro vývoj nebo testování a pro malé až střední řešení aplikací a dat.Ideal for dev / test and small to medium applications and data solutions.
Optimalizované z hlediska výpočetních služebCompute optimized Fsv2Fsv2 Vysoký poměr procesorů k paměti.High CPU-to-memory. Vhodné pro aplikace se středním provozem, síťová zařízení a dávkové procesy.Good for medium traffic applications, network appliances, and batch processes.
Optimalizované z hlediska pamětiMemory optimized Esv3, Ev3, M, DSv2, Dv2Esv3, Ev3, M, DSv2, Dv2 Vysoký poměr paměti k jádrům.High memory-to-core. Velmi vhodné pro relační databáze, střední a velké mezipaměti a analýzu v paměti.Great for relational databases, medium to large caches, and in-memory analytics.
Optimalizované z hlediska úložištěStorage optimized Lsv2, LSLsv2, Ls Vysoká propustnost disku a V/V.High disk throughput and IO. Ideální pro databáze NoSQL, SQL a velké objemy dat.Ideal for Big Data, SQL, and NoSQL databases.
GPUGPU NV, NVv2, NC, NCv2, NCv3, NDNV, NVv2, NC, NCv2, NCv3, ND Specializované virtuální počítače určené pro náročné vykreslování grafiky a úpravy videa.Specialized VMs targeted for heavy graphic rendering and video editing.
Vysoký výkonHigh performance HH Naše procesorově nejvýkonnější virtuální počítače s volitelnými síťovými rozhraními s vysokou propustností (RDMA).Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA).

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

Pokud chcete zobrazit seznam velikostí virtuálních počítačů dostupných v konkrétní oblasti, použijte příkaz az vm list-sizes.To see a list of VM sizes available in a particular region, use the az vm list-sizes command.

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

Částečný výstup:Partial output:

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
                 2          3584  Standard_DS1                          1           1047552                    7168
                 4          7168  Standard_DS2                          2           1047552                   14336
                 8         14336  Standard_DS3                          4           1047552                   28672
                16         28672  Standard_DS4                          8           1047552                   57344
                 4         14336  Standard_DS11                         2           1047552                   28672
                 8         28672  Standard_DS12                         4           1047552                   57344
                16         57344  Standard_DS13                         8           1047552                  114688
                32        114688  Standard_DS14                        16           1047552                  229376
                 1           768  Standard_A0                           1           1047552                   20480
                 2          1792  Standard_A1                           1           1047552                   71680
                 4          3584  Standard_A2                           2           1047552                  138240
                 8          7168  Standard_A3                           4           1047552                  291840
                 4         14336  Standard_A5                           2           1047552                  138240
                16         14336  Standard_A4                           8           1047552                  619520
                 8         28672  Standard_A6                           4           1047552                  291840
                16         57344  Standard_A7                           8           1047552                  619520

Vytvoření virtuálního počítače s konkrétní velikostíCreate VM with specific size

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.In the previous VM creation example, a size was not provided, which results in a default size. Velikost virtuálního počítače je možné při vytváření vybrat pomocí příkazu az vm create a argumentu --size.A VM size can be selected at creation time using az vm create and the --size argument.

az vm create \
    --resource-group myResourceGroupVM \
    --name myVM3 \
    --image UbuntuLTS \
    --size Standard_F4s \
    --generate-ssh-keys

Změna velikosti virtuálního počítačeResize a VM

Po nasazení virtuálního počítače můžete jeho velikost změnit, čímž se zvýší nebo sníží přidělení prostředků.After a VM has been deployed, it can be resized to increase or decrease resource allocation. Aktuální velikost virtuálního počítače je možné zobrazit pomocí příkazu az vm show:You can view the current of size of a VM with 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.Before resizing a VM, check if the desired size is available on the current Azure cluster. Seznam velikostí můžete získat pomocí příkazu az vm list-vm-resize-options.The az vm list-vm-resize-options command returns the list of sizes.

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í.If the desired size is available, the VM can be resized from a powered-on state, however it is rebooted during the operation. Ke změně velikosti použijte příkaz az vm resize.Use the az vm resize command to perform the resize.

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

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.If the desired size is not on the current cluster, the VM needs to be deallocated before the resize operation can occur. K zastavení a zrušení přidělení virtuálního počítače použijte příkaz az vm deallocate.Use the az vm deallocate command to stop and deallocate the VM. 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.Note, when the VM is powered back on, any data on the temp disk may be removed. Změní se také jeho veřejná IP adresa, pokud nepoužíváte statickou IP adresu.The public IP address also changes unless a static IP address is being used.

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

Po zrušení přidělení může proběhnout změna velikosti.Once deallocated, the resize can occur.

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

Po změně velikosti se může virtuální počítač zase spustit.After the resize, the VM can be started.

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

Stavy napájení virtuálního počítačeVM power states

Virtuální počítač Azure může mít jeden z mnoha stavů napájení.An Azure VM can have one of many power states. Tento stav představuje aktuální stav virtuálního počítače z pohledu hypervisoru.This state represents the current state of the VM from the standpoint of the hypervisor.

Stavy napájeníPower states

Stav napájeníPower State PopisDescription
SpouštěníStarting Označuje, že virtuální počítač se právě spouští.Indicates the virtual machine is being started.
SpuštěnoRunning Označuje, že virtuální počítač běží (je spuštěný).Indicates that the virtual machine is running.
ZastavováníStopping Označuje, že virtuální počítač se právě zastavuje.Indicates that the virtual machine is being stopped.
ZastavenoStopped Označuje, že virtuální počítač je zastavený.Indicates that the virtual machine is stopped. Poplatky za výpočetní výkon se účtují i za virtuální počítače v zastaveném stavu.Virtual machines in the stopped state still incur compute charges.
Rušení přiděleníDeallocating Označuje, že se právě ruší přidělení virtuálního počítače.Indicates that the virtual machine is being deallocated.
Přidělení zrušenoDeallocated Označuje, že virtuální počítač je odebraný z hypervisoru, ale stále je dostupný v rovině řízení.Indicates that the virtual machine is removed from the hypervisor but still available in the control plane. Za virtuální počítače ve stavu zrušeného přidělení se poplatky za výpočetní výkon neúčtují.Virtual machines in the Deallocated state do not incur compute charges.
- Označuje, že stav napájení virtuálního počítače není známý.Indicates that the power state of the virtual machine is unknown.

Vyhledání stavu napájeníFind the power state

Pokud chcete zjistit stav konkrétního virtuálního počítače, použijte příkaz az vm get-instance-view.To retrieve the state of a particular VM, use the az vm get-instance-view command. Nezapomeňte zadat platný název virtuálního počítače a skupiny prostředků.Be sure to specify a valid name for a virtual machine and resource group.

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

Výstup:Output:

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

Úlohy správyManagement tasks

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.During the life-cycle of a virtual machine, you may want to run management tasks such as starting, stopping, or deleting a virtual machine. Možná také budete chtít vytvořit skripty pro automatizaci opakovaných nebo komplexních úloh.Additionally, you may want to create scripts to automate repetitive or complex tasks. Pomocí Azure CLI se dá mnoho běžných úloh správy spustit z příkazového řádku nebo ve skriptech.Using the Azure CLI, many common management tasks can be run from the command line or in scripts.

Zjištění IP adresyGet IP address

Tento příkaz vrátí privátní a veřejnou IP adresu virtuálního počítače.This command returns the private and public IP addresses of a virtual machine.

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

Zastavení virtuálního počítačeStop virtual machine

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

Spuštění virtuálního počítačeStart virtual machine

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

Odstranit skupinu prostředkůDelete resource group

Odstraněním skupiny prostředků se také odstraní všechny prostředky v ní obsažené, například virtuální počítač, virtuální síť a disk.Deleting a resource group also deletes all resources contained within, such as the VM, virtual network, and disk. Parametr --no-wait vrátí řízení na příkazový řádek bez čekání na dokončení operace.The --no-wait parameter returns control to the prompt without waiting for the operation to complete. Parametr --yes potvrdí, že chcete prostředky odstranit, aniž by se na to zobrazoval další dotaz.The --yes parameter confirms that you wish to delete the resources without an additional prompt to do so.

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

Další postupNext steps

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:In this tutorial, you learned about basic VM creation and management such as how to:

  • Vytvoření a připojení virtuálního počítačeCreate and connect to a VM
  • Výběr a použití imagí virtuálních počítačůSelect and use VM images
  • Zobrazení a použití specifických velikostí virtuálních počítačůView and use specific VM sizes
  • Změna velikosti virtuálního počítačeResize a VM
  • Zobrazení a pochopení stavu virtuálního počítačeView and understand VM state

V dalším kurzu se dozvíte něco o discích virtuálních počítačů.Advance to the next tutorial to learn about VM disks.