Samouczek: tworzenie maszyn wirtualnych z systemem Linux i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy AzureTutorial: Create and Manage Linux VMs with the Azure CLI

Maszyny wirtualne platformy Azure oferują w pełni konfigurowalne i elastyczne środowiska obliczeniowe.Azure virtual machines provide a fully configurable and flexible computing environment. W tym samouczku opisano podstawowe elementy wdrożenia maszyny wirtualnej platformy Azure, takie jak wybieranie rozmiaru i obrazu maszyny wirtualnej oraz wdrażanie maszyny wirtualnej.This tutorial covers basic Azure virtual machine deployment items such as selecting a VM size, selecting a VM image, and deploying a VM. Omawiane kwestie:You learn how to:

  • Tworzenie maszyny wirtualnej i łączenie z niąCreate and connect to a VM
  • Wybieranie i używanie obrazów maszyn wirtualnychSelect and use VM images
  • Wyświetlanie i używanie określonych rozmiarów maszyn wirtualnychView and use specific VM sizes
  • Zmienianie rozmiaru maszyny wirtualnejResize a VM
  • Wyświetlanie stanu maszyny wirtualnej i jego omówienieView and understand VM state

W tym samouczku jest używany interfejs wiersza polecenia w Azure Cloud Shell, który jest stale aktualizowany do najnowszej wersji.This tutorial uses the CLI within the Azure Cloud Shell, which is constantly updated to the latest version. Aby otworzyć Cloud Shell, wybierz opcję Wypróbuj z góry dowolnego bloku kodu.To open the Cloud Shell, select Try it from the top of any code block.

Jeśli zdecydujesz się zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie, ten samouczek będzie wymagał interfejsu wiersza polecenia platformy Azure w wersji 2.0.30 lub nowszej.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. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana.Run az --version to find the version. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.If you need to install or upgrade, see Install Azure CLI.

Tworzenie grupy zasobówCreate resource group

Utwórz grupę zasobów za pomocą polecenia az group create.Create a resource group with the az group create command.

Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi.An Azure resource group is a logical container into which Azure resources are deployed and managed. Grupę zasobów należy utworzyć przed maszyną wirtualną.A resource group must be created before a virtual machine. W tym przykładzie grupa zasobów o nazwie myResourceGroupVM zostanie utworzona w regionie eastus.In this example, a resource group named myResourceGroupVM is created in the eastus region.

az group create --name myResourceGroupVM --location eastus

Grupa zasobów jest określana podczas tworzenia lub modyfikowania maszyn wirtualnych, co zostało przedstawione w tym samouczku.The resource group is specified when creating or modifying a VM, which can be seen throughout this tutorial.

Tworzenie maszyny wirtualnejCreate virtual machine

Utwórz maszynę wirtualną za pomocą polecenia az vm create.Create a virtual machine with the az vm create command.

Podczas tworzenia maszyny wirtualnej masz dostęp do kilku opcji, takich jak obraz systemu operacyjnego, ustalanie rozmiaru dysku i poświadczenia administracyjne.When you create a virtual machine, several options are available such as operating system image, disk sizing, and administrative credentials. W poniższym przykładzie zostanie utworzona maszyna wirtualna o nazwie myVM, na której działa system Ubuntu Server.The following example creates a VM named myVM that runs Ubuntu Server. Na maszynie wirtualnej zostanie utworzone konto użytkownika o nazwie azureuser i zostaną wygenerowane klucze SSH, jeśli nie istnieją w domyślnej lokalizacji kluczy ( ~/.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

Tworzenie maszyny wirtualnej może potrwać kilka minut.It may take a few minutes to create the VM. Po utworzeniu maszyny wirtualnej interfejs wiersza polecenia platformy Azure wyświetla informacje o maszynie wirtualnej.Once the VM has been created, the Azure CLI outputs information about the VM. Zanotuj adres publicIpAddress; przy użyciu tego adresu można uzyskać dostęp do maszyny wirtualnej.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"
}

Łączenie z maszyną wirtualnąConnect to VM

Możesz teraz nawiązać połączenie z maszyną wirtualną przy użyciu protokołu SSH w usłudze Azure Cloud Shell lub z poziomu komputera lokalnego.You can now connect to the VM with SSH in the Azure Cloud Shell or from your local computer. Zastąp przykładowy adres IP adresem publicIpAddress zanotowanym w poprzednim kroku.Replace the example IP address with the publicIpAddress noted in the previous step.

ssh azureuser@52.174.34.95

Po zalogowaniu się do maszyny wirtualnej możesz zainstalować i skonfigurować aplikacje.Once logged in to the VM, you can install and configure applications. Gdy skończysz, zamknij sesję SSH jak zwykle:When you are finished, you close the SSH session as normal:

exit

Omówienie obrazów maszyny wirtualnejUnderstand VM images

Witryna Azure Marketplace zawiera wiele obrazów, za pomocą których można tworzyć maszyny wirtualne.The Azure marketplace includes many images that can be used to create VMs. W poprzednich krokach utworzono maszynę wirtualną przy użyciu obrazu systemu Ubuntu.In the previous steps, a virtual machine was created using an Ubuntu image. W tym kroku interfejs wiersza polecenia platformy Azure jest używany do wyszukania w portalu Marketplace obrazu systemu CentOS, za pomocą którego zostanie wdrożona druga maszyna wirtualna.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.

Aby wyświetlić listę najczęściej używanych obrazów, użyj polecenia 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

W danych wyjściowych tego polecenia wyświetlana jest lista najpopularniejszych obrazów maszyn wirtualnych na platformie 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

Pełną listę można wyświetlić, dodając argument --all.A full list can be seen by adding the --all argument. Listę obrazów można także filtrować za pomocą argumentów --publisher lub –-offer.The image list can also be filtered by --publisher or –-offer. W tym przykładzie lista jest filtrowana dla wszystkich obrazów z ofertą zgodną z systemem 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

Częściowe dane wyjściowe: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

W celu wdrożenia maszyny wirtualnej przy użyciu wybranego obrazu zanotuj wartość z kolumny Urn, która składa się z wydawcy, oferty, jednostki SKU i opcjonalnie numeru wersji, aby zidentyfikować obraz.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. Podczas określania obrazu numer wersji można zastąpić wartością „latest”, co spowoduje wybranie najnowszej wersji dystrybucji.When specifying the image, the image version number can be replaced with “latest”, which selects the latest version of the distribution. W tym przykładzie argument --image służy do określenia najnowszej wersji obrazu systemu 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

Omówienie rozmiarów maszyn wirtualnychUnderstand VM sizes

Rozmiar maszyny wirtualnej określa ilość zasobów obliczeniowych, takich jak procesor CPU, procesor GPU i pamięć, które są dostępne dla maszyny wirtualnej.A virtual machine size determines the amount of compute resources such as CPU, GPU, and memory that are made available to the virtual machine. Maszyny wirtualne muszą mieć rozmiary stosowne do oczekiwanych obciążeń.Virtual machines need to be sized appropriately for the expected work load. Jeśli obciążenie zwiększy się, można zmienić rozmiar istniejącej maszyny wirtualnej.If workload increases, an existing virtual machine can be resized.

Rozmiary maszyn wirtualnychVM Sizes

W poniższej tabeli przedstawiono kategorie rozmiarów podzielone według przypadków użycia.The following table categorizes sizes into use cases.

TypType Typowe rozmiaryCommon sizes OpisDescription
Zastosowania ogólneGeneral purpose B, Dsv3, Dv3, DSv2, Dv2, Av2, DCB, Dsv3, Dv3, DSv2, Dv2, Av2, DC Zrównoważona moc procesora CPU w stosunku do pamięci.Balanced CPU-to-memory. Opcja idealna w przypadku tworzenia i testowania, małych i średnich aplikacji oraz rozwiązań dotyczących danych.Ideal for dev / test and small to medium applications and data solutions.
Optymalizacja pod kątem obliczeńCompute optimized Fsv2Fsv2 Duża moc procesora CPU w stosunku do pamięci.High CPU-to-memory. Opcja dobra w przypadku aplikacji o średnim ruchu, urządzeń sieciowych i procesów wsadowych.Good for medium traffic applications, network appliances, and batch processes.
Optymalizacja pod kątem pamięciMemory optimized Esv3, EV3, M, DSv2, Dv2Esv3, Ev3, M, DSv2, Dv2 Duża ilość pamięci na rdzeń.High memory-to-core. Opcja bardzo dobra w przypadku relacyjnych baz danych, średnich i dużych pamięci podręcznych oraz analizowania w pamięci.Great for relational databases, medium to large caches, and in-memory analytics.
Optymalizacja pod kątem magazynuStorage optimized Lsv2, LSLsv2, Ls Wysoka przepływność dysku i duża liczba operacji we/wy.High disk throughput and IO. Opcja idealna w przypadku danych big data oraz baz danych SQL i NoSQL.Ideal for Big Data, SQL, and NoSQL databases.
Procesor GPUGPU NV, NVv2, NC, NCv2, NCv3, NDNV, NVv2, NC, NCv2, NCv3, ND Maszyny wirtualne wyspecjalizowane pod kątem intensywnego renderowania grafiki i edytowania materiałów wideo.Specialized VMs targeted for heavy graphic rendering and video editing.
Wysoka wydajnośćHigh performance HH Maszyny wirtualne z najbardziej wydajnymi procesorami CPU oraz, opcjonalnie, interfejsami sieciowymi zapewniającymi wysoką przepływność (RDMA).Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA).

Wyszukiwanie dostępnych rozmiarów maszyn wirtualnychFind available VM sizes

Aby wyświetlić listę dostępnych rozmiarów maszyn wirtualnych w danym regionie, użyj polecenia 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

Częściowe dane wyjściowe: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

Tworzenie maszyny wirtualnej o określonym rozmiarzeCreate VM with specific size

W poprzednim przykładzie tworzenia maszyny wirtualnej nie podano rozmiaru, co spowodowało użycie rozmiaru domyślnego.In the previous VM creation example, a size was not provided, which results in a default size. Rozmiar maszyny wirtualnej można wybrać podczas jej tworzenia, używając polecenia az vm create i 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

Zmienianie rozmiaru maszyny wirtualnejResize a VM

Po wdrożeniu maszyny wirtualnej można zmienić jej rozmiar w celu zwiększenia lub zmniejszenia alokacji zasobów.After a VM has been deployed, it can be resized to increase or decrease resource allocation. Bieżący rozmiar maszyny wirtualnej można wyświetlić za pomocą polecenia 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

Przed zmianą rozmiaru maszyny wirtualnej sprawdź, czy żądany rozmiar jest dostępny w bieżącym klastrze platformy Azure.Before resizing a VM, check if the desired size is available on the current Azure cluster. Polecenie az vm list-vm-resize-options wyświetla listę rozmiarów.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

Jeśli żądany rozmiar maszyny wirtualnej jest dostępny, można go zmienić dla włączonej maszyny, ale zostanie ona ponownie uruchomiona w trakcie tej operacji.If the desired size is available, the VM can be resized from a powered-on state, however it is rebooted during the operation. Wykonaj zmianę rozmiaru za pomocą polecenia 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

Jeśli żądany rozmiar jest niedostępny w bieżącym klastrze, przed rozpoczęciem operacji zmiany rozmiaru należy cofnąć przydział maszyny wirtualnej.If the desired size is not on the current cluster, the VM needs to be deallocated before the resize operation can occur. Za pomocą polecenia az vm deallocate zatrzymaj maszynę wirtualną i cofnij jej przydział.Use the az vm deallocate command to stop and deallocate the VM. Pamiętaj, że kiedy maszyna wirtualna zostanie ponownie włączona, wszelkie dane na dysku tymczasowym mogą zostać usunięte.Note, when the VM is powered back on, any data on the temp disk may be removed. Publiczny adres IP również się zmieni, chyba że używany jest statyczny adres IP.The public IP address also changes unless a static IP address is being used.

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

Po cofnięciu przydziału może zostać wykonana zmiana rozmiaru.Once deallocated, the resize can occur.

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

Po zmienieniu rozmiaru można ponownie uruchomić maszynę wirtualną.After the resize, the VM can be started.

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

Stany zasilania maszyny wirtualnejVM power states

Maszyna wirtualna platformy Azure może znajdować się w jednym z wielu stanów zasilania.An Azure VM can have one of many power states. Ten stan reprezentuje bieżący stan maszyny wirtualnej z punktu widzenia funkcji hypervisor.This state represents the current state of the VM from the standpoint of the hypervisor.

Stany zasilaniaPower states

Stan zasilaniaPower State OpisDescription
UruchamianieStarting Wskazuje, że maszyna wirtualna jest uruchamiana.Indicates the virtual machine is being started.
DziałanieRunning Wskazuje, że maszyna wirtualna działa.Indicates that the virtual machine is running.
ZatrzymywanieStopping Wskazuje, że maszyna wirtualna jest zatrzymywana.Indicates that the virtual machine is being stopped.
ZatrzymanoStopped Wskazuje, że maszyna wirtualna została zatrzymana.Indicates that the virtual machine is stopped. Opłaty za operacje obliczeniowe są także naliczane w przypadku maszyn wirtualnych w stanie Zatrzymano.Virtual machines in the stopped state still incur compute charges.
Cofanie przydziałuDeallocating Wskazuje, że przydział maszyny wirtualnej jest cofany.Indicates that the virtual machine is being deallocated.
Cofnięto przydziałDeallocated Wskazuje, że maszyna wirtualna została usunięta z funkcji hypervisor, ale jest nadal dostępna na płaszczyźnie kontroli.Indicates that the virtual machine is removed from the hypervisor but still available in the control plane. Opłaty za operacje obliczeniowe nie są naliczane w przypadku maszyn wirtualnych w stanie Cofnięto przydział.Virtual machines in the Deallocated state do not incur compute charges.
- Wskazuje, że stan zasilania maszyny wirtualnej jest nieznany.Indicates that the power state of the virtual machine is unknown.

Znajdowanie stanu zasilaniaFind the power state

Aby pobrać stan określonej maszyny wirtualnej, użyj polecenia az vm get-instance-view.To retrieve the state of a particular VM, use the az vm get-instance-view command. Pamiętaj, aby określić prawidłową nazwę maszyny wirtualnej i grupy zasobów.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

Dane wyjściowe:Output:

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

Zadania zarządzaniaManagement tasks

W trakcie cyklu życia maszyny wirtualnej można uruchamiać zadania zarządzania, takie jak uruchamianie, zatrzymywanie lub usuwanie maszyny wirtualnej.During the life-cycle of a virtual machine, you may want to run management tasks such as starting, stopping, or deleting a virtual machine. Ponadto można tworzyć skrypty służące do automatyzowania zadań powtarzających się lub złożonych.Additionally, you may want to create scripts to automate repetitive or complex tasks. Używając interfejsu wiersza polecenia platformy Azure, wiele typowych zadań zarządzania można uruchamiać z poziomu wiersza polecenia lub w skryptach.Using the Azure CLI, many common management tasks can be run from the command line or in scripts.

Uzyskiwanie adresu IPGet IP address

To polecenie wyświetla prywatny i publiczny adres IP maszyny wirtualnej.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

Zatrzymywanie maszyny wirtualnejStop virtual machine

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

Uruchamianie maszyny wirtualnejStart virtual machine

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

Usuwanie grupy zasobówDelete resource group

Usunięcie grupy zasobów spowoduje również usunięcie wszystkich znajdujących się w niej zasobów, takich jak maszyna wirtualna, sieć wirtualna i dysk.Deleting a resource group also deletes all resources contained within, such as the VM, virtual network, and disk. Parametr --no-wait zwraca kontrolę do wiersza polecenia bez oczekiwania na zakończenie operacji.The --no-wait parameter returns control to the prompt without waiting for the operation to complete. Parametr --yes potwierdza, że chcesz usunąć zasoby bez wyświetlania dodatkowego monitu.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

Następne krokiNext steps

W niniejszym samouczku zawarto informacje dotyczące podstawowych zadań tworzenia maszyny wirtualnej i zarządzania nią, takie jak:In this tutorial, you learned about basic VM creation and management such as how to:

  • Tworzenie maszyny wirtualnej i łączenie z niąCreate and connect to a VM
  • Wybieranie i używanie obrazów maszyn wirtualnychSelect and use VM images
  • Wyświetlanie i używanie określonych rozmiarów maszyn wirtualnychView and use specific VM sizes
  • Zmienianie rozmiaru maszyny wirtualnejResize a VM
  • Wyświetlanie stanu maszyny wirtualnej i jego omówienieView and understand VM state

Przejdź do następnego samouczka, aby dowiedzieć się więcej na temat dysków maszyn wirtualnych.Advance to the next tutorial to learn about VM disks.