Руководство по Создание виртуальных машин Linux и управление ими с помощью Azure CLITutorial: Create and Manage Linux VMs with the Azure CLI

Виртуальные машины Azure предоставляют полностью настраиваемую и гибкую вычислительную среду.Azure virtual machines provide a fully configurable and flexible computing environment. В этом руководстве рассматриваются основные элементы развертывания виртуальной машины Azure, например выбор ее размера, образа и ее развертывание.This tutorial covers basic Azure virtual machine deployment items such as selecting a VM size, selecting a VM image, and deploying a VM. Вы узнаете, как выполнять следующие задачи:You learn how to:

  • Создание виртуальной машины и подключение к нейCreate and connect to a VM
  • Выбор и использование образов виртуальных машинSelect and use VM images
  • Просмотр и использование определенных размеров виртуальных машинView and use specific VM sizes
  • Изменение размера виртуальной машиныResize a VM
  • Просмотр виртуальной машины и оценка ее состоянияView and understand VM state

Использование Azure Cloud ShellUse Azure Cloud Shell

В Azure есть Azure Cloud Shell, интерактивная оболочка среды, с которой можно работать в браузере.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Для работы со службами Azure в Cloud Shell можно использовать bash и PowerShell.Cloud Shell lets you use either bash or PowerShell to work with Azure services. Для запуска кода из этой статьи можно использовать предварительно установленные команды Cloud Shell. Ничего дополнительного в локальной среде устанавливать не нужно.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.

Чтобы запустить Azure Cloud Shell, сделайте вот что:To launch Azure Cloud Shell:

ПараметрOption Пример и ссылкаExample/Link
Нажмите кнопку Попробовать в правом верхнем углу блока с кодом.Select Try It in the upper-right corner of a code block. При нажатии кнопки Попробовать код не копируется в Cloud Shell автоматически.Selecting Try It doesn't automatically copy the code to Cloud Shell. Открытие Azure Cloud Shell с помощью кнопки "Попробовать"
Перейдите по адресу https://shell.azure.com или нажмите кнопку Запуск Cloud Shell, чтобы открыть Cloud Shell в браузере.Go to https://shell.azure.com or select the Launch Cloud Shell button to open Cloud Shell in your browser. Запуск Cloud Shell в новом окнеLaunch Cloud Shell in a new window
На портале Azure в правом верхнем углу в строке меню нажмите кнопку Cloud Shell.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Кнопка "Cloud Shell" на портале Azure

Чтобы выполнить код из этой статьи в Azure Cloud Shell, сделайте вот что:To run the code in this article in Azure Cloud Shell:

  1. Откройте Cloud Shell.Open Cloud Shell.
  2. В блоке кода нажмите кнопку Копировать, чтобы скопировать код.Select the Copy button on a code block to copy the code.
  3. Вставьте код в окно сеанса Cloud Shell, нажав клавиши Ctrl+Shift+V в Windows и Linux или Cmd+Shift+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. Нажмите клавишу ВВОД, чтобы выполнить код.Press Enter to run the code.

Если вы решили установить и использовать интерфейс командной строки локально, то для работы с этим руководством вам понадобится Azure CLI 2.0.30 или более поздней версии.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. Чтобы узнать версию, выполните команду az --version.Run az --version to find the version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.If you need to install or upgrade, see Install Azure CLI.

Создать группу ресурсовCreate resource group

Создайте группу ресурсов с помощью команды az group create.Create a resource group with the az group create command.

Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.An Azure resource group is a logical container into which Azure resources are deployed and managed. Группу ресурсов следует создавать до виртуальной машины.A resource group must be created before a virtual machine. В этом примере создается группа ресурсов с именем myResourceGroupVM в регионе eastus.In this example, a resource group named myResourceGroupVM is created in the eastus region.

az group create --name myResourceGroupVM --location eastus

Группа ресурсов указывается при создании или изменении виртуальной машины, что показывается в этом руководстве.The resource group is specified when creating or modifying a VM, which can be seen throughout this tutorial.

Создание виртуальной машиныCreate virtual machine

Создайте виртуальную машину, выполнив команду az vm create.Create a virtual machine with the az vm create command.

При создании виртуальной машины доступно несколько вариантов, таких как образ операционной системы, определение размера диска и учетные данные администратора.When you create a virtual machine, several options are available such as operating system image, disk sizing, and administrative credentials. В следующем примере создается виртуальная машина myVM под управлением Ubuntu Server.The following example creates a VM named myVM that runs Ubuntu Server. На виртуальной машине создается учетная запись пользователя с именем azureuser, а также ключи SSH, если их еще нет в расположении для ключей по умолчанию ( ~/.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

Создание виртуальной машины может занять несколько минут.It may take a few minutes to create the VM. После создания виртуальной машины Azure CLI выводит информацию о ней.Once the VM has been created, the Azure CLI outputs information about the VM. Запишите publicIpAddress. Этот адрес может использоваться для доступа к виртуальной машине.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"
}

Подключение к виртуальной машинеConnect to VM

Теперь вы можете подключиться к виртуальной машине с помощью SSH из Azure Cloud Shell или с локального компьютера.You can now connect to the VM with SSH in the Azure Cloud Shell or from your local computer. Замените IP-адрес в примере адресом publicIpAddress, записанным на предыдущем шаге.Replace the example IP address with the publicIpAddress noted in the previous step.

ssh azureuser@52.174.34.95

После входа на виртуальную машину можно установить и настроить приложения.Once logged in to the VM, you can install and configure applications. По окончании работы закройте сеанс SSH, как обычно:When you are finished, you close the SSH session as normal:

exit

Описание образов виртуальных машинUnderstand VM images

Azure Marketplace содержит множество образов, которые можно использовать для создания виртуальных машин.The Azure marketplace includes many images that can be used to create VMs. На предыдущих шагах виртуальная машина создавалась с помощью образа Ubuntu.In the previous steps, a virtual machine was created using an Ubuntu image. На этом шаге Azure CLI используется для поиска на сайте Marketplace образа CentOS, который затем используется для развертывания второй виртуальной машины.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.

Чтобы просмотреть список наиболее часто используемых образов, используйте команду 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

Она отобразит наиболее популярные образы виртуальных машин в 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

Получить полный список можно, добавив аргумент --all.A full list can be seen by adding the --all argument. Кроме того, список образов можно отфильтровать по издателю или предложению с помощью аргумента --publisher или –-offer соответственно.The image list can also be filtered by --publisher or –-offer. В этом примере список образов отфильтрован по предложению 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

Частичные выходные данные приведены ниже.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

Чтобы развернуть виртуальную машину с помощью определенного образа, запишите значение в столбце Urn, которое состоит из сведений об издателе, предложении, номера SKU и (необязательно) номера версии для идентификации образа.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. При указании образа его номер версии можно заменить ключевым словом latest. В этом случае будет выбрана последняя версия дистрибутива.When specifying the image, the image version number can be replaced with “latest”, which selects the latest version of the distribution. В данном примере добавлен аргумент --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

Описание размеров виртуальных машинUnderstand VM sizes

Размер виртуальной машины определяет количество выделяемых ей вычислительных ресурсов, таких как ЦП, GPU и память.A virtual machine size determines the amount of compute resources such as CPU, GPU, and memory that are made available to the virtual machine. Размеры виртуальных машин должны соответствовать ожидаемой рабочей нагрузке.Virtual machines need to be sized appropriately for the expected work load. При увеличении рабочей нагрузки размер существующей виртуальной машины может быть изменен.If workload increases, an existing virtual machine can be resized.

Размеры виртуальных машинVM Sizes

В приведенной ниже таблицы указаны категории размеров и примеры использования.The following table categorizes sizes into use cases.

typeType Распространенные размерыCommon sizes ОПИСАНИЕDescription
УниверсальныеGeneral purpose B, Dsv3, Dv3, DSv2, Dv2, Av2, DCB, Dsv3, Dv3, DSv2, Dv2, Av2, DC Сбалансированное соотношение ресурсов ЦП и памяти.Balanced CPU-to-memory. Идеально подходят для разработки и тестирования малых и средних приложений и решений для обработки данных.Ideal for dev / test and small to medium applications and data solutions.
Оптимизированные для вычисленийCompute optimized Fsv2Fsv2 Высокое соотношение ресурсов ЦП и памяти.High CPU-to-memory. Подходят для приложений со средним объемом трафика, сетевых устройств и пакетных процессов.Good for medium traffic applications, network appliances, and batch processes.
Оптимизированные для памятиMemory optimized Esv3, Ev3, M, DSv2, Dv2Esv3, Ev3, M, DSv2, Dv2 Высокое соотношение ресурсов памяти и числа ядер.High memory-to-core. Отлично подходят для реляционных баз данных, кэша среднего и большого объема, а также выполняющейся в памяти аналитики.Great for relational databases, medium to large caches, and in-memory analytics.
Оптимизированные для хранилищаStorage optimized Lsv2, LsLsv2, Ls Высокая пропускная способность дисков и количество операций ввода-вывода.High disk throughput and IO. Идеальный вариант для работы с большими данными, а также с базами данных SQL и NoSQL.Ideal for Big Data, SQL, and NoSQL databases.
GPUGPU NV, NVv2, NC, NCv2, NCv3, NDNV, NVv2, NC, NCv2, NCv3, ND Специализированные виртуальные машины, предназначенные для ресурсоемкой отрисовки изображений и редактирования видео.Specialized VMs targeted for heavy graphic rendering and video editing.
ВысокопроизводительныеHigh performance HH Виртуальные машины с самыми мощными ЦП, для которых можно настроить сетевые интерфейсы с высокой пропускной способностью (RDMA).Our most powerful CPU VMs with optional high-throughput network interfaces (RDMA).

Поиск всех доступных размеров виртуальных машинFind available VM sizes

Чтобы просмотреть список доступных размеров виртуальных машин в определенном регионе, используйте команду 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

Частичные выходные данные приведены ниже.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

Создание виртуальной машины с определенным размеромCreate VM with specific size

В предыдущем примере создания виртуальной машины размер не был указан, что привело к использованию размера по умолчанию.In the previous VM creation example, a size was not provided, which results in a default size. Размер виртуальной машины можно выбрать во время ее создания с помощью команды az vm create и аргумента --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

Изменение размера виртуальной машиныResize a VM

После развертывания виртуальной машины ее размер можно изменить, чтобы увеличить или уменьшить выделенные ей ресурсы.After a VM has been deployed, it can be resized to increase or decrease resource allocation. Текущий размер виртуальной машины можно просмотреть с помощью команды 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

Перед изменением размера виртуальной машины проверьте, доступен ли желаемый размер в текущем кластере Azure.Before resizing a VM, check if the desired size is available on the current Azure cluster. Команда 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

Если желаемый размер доступен, то размер виртуальной машины можно изменить во включенном состоянии, однако виртуальную машину нужно будет перезагрузить.If the desired size is available, the VM can be resized from a powered-on state, however it is rebooted during the operation. Используйте команду 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

Если желаемый размер в текущем кластере недоступен, то перед изменением размера виртуальную машину нужно освободить.If the desired size is not on the current cluster, the VM needs to be deallocated before the resize operation can occur. Используйте команду az vm deallocate, чтобы остановить и освободить виртуальную машину.Use the az vm deallocate command to stop and deallocate the VM. Обратите внимание на то, что после повторного включения виртуальной машины все данные на временном диске могут быть удалены.Note, when the VM is powered back on, any data on the temp disk may be removed. Кроме того, изменится общедоступный IP-адрес, если только не используется статический IP-адрес.The public IP address also changes unless a static IP address is being used.

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

После освобождения виртуальной машины ее размер можно изменить.Once deallocated, the resize can occur.

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

После изменения размера можно запустить будет виртуальную машину.After the resize, the VM can be started.

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

Состояния включенной виртуальной машиныVM power states

Включенная виртуальная машина Azure может находиться в одном из многих состояний.An Azure VM can have one of many power states. Это состояние отражает текущее состояние виртуальной машины с точки зрения гипервизора.This state represents the current state of the VM from the standpoint of the hypervisor.

Состояния включенияPower states

Состояние включенияPower State ОПИСАНИЕDescription
ЗапускStarting Указывает, что виртуальная машина запущена.Indicates the virtual machine is being started.
ВыполнениеRunning Указывает, что виртуальная машина работает.Indicates that the virtual machine is running.
ОстановкаStopping Указывает, что виртуальная машина останавливается.Indicates that the virtual machine is being stopped.
ОстановленоStopped Указывает, что виртуальная машина остановлена.Indicates that the virtual machine is stopped. За виртуальные машины в остановленном состоянии по-прежнему взимается плата за вычислительные операции.Virtual machines in the stopped state still incur compute charges.
Отмена выделенияDeallocating Указывает, что виртуальная машина освобождается.Indicates that the virtual machine is being deallocated.
ОсвобожденоDeallocated Указывает, что виртуальная машина удалена из гипервизора, но по-прежнему доступна в плоскости управления.Indicates that the virtual machine is removed from the hypervisor but still available in the control plane. За виртуальные машины в освобожденном состоянии не взимается плата за вычислительные операции.Virtual machines in the Deallocated state do not incur compute charges.
- Указывает, что состояние включенной виртуальной машины неизвестно.Indicates that the power state of the virtual machine is unknown.

Поиск состояния электропитанияFind the power state

Чтобы получить сведения о состоянии конкретной виртуальной машины, используйте команду az vm get-instance-view.To retrieve the state of a particular VM, use the az vm get-instance-view command. Необходимо указать допустимое имя виртуальной машины и группы ресурсов.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

Выходные данные:Output:

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

Задачи управленияManagement tasks

В течение жизненного цикла виртуальной машины можно выполнять задачи управления, такие как запуск, остановка или удаление виртуальной машины.During the life-cycle of a virtual machine, you may want to run management tasks such as starting, stopping, or deleting a virtual machine. Кроме того, можно создавать скрипты для автоматизации повторяющихся или сложных задач.Additionally, you may want to create scripts to automate repetitive or complex tasks. С помощью Azure CLI в командной строке или в скриптах можно выполнять множество распространенных задач управления.Using the Azure CLI, many common management tasks can be run from the command line or in scripts.

Получение IP-адресаGet IP address

Эта команда возвращает частный и общедоступный IP-адрес виртуальной машины.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

Прекращение работы виртуальной машиныStop virtual machine

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

Запуск виртуальной машиныStart virtual machine

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

Удалить группу ресурсовDelete resource group

При удалении группы ресурсов будут также удалены все ресурсы, содержащиеся в ней: виртуальная машина, виртуальная сеть и диск.Deleting a resource group also deletes all resources contained within, such as the VM, virtual network, and disk. При использовании параметра --no-wait управление возвращается в командную строку без ожидания завершения операции.The --no-wait parameter returns control to the prompt without waiting for the operation to complete. Параметр --yes подтверждает, что вы хотите удалить ресурсы без дополнительного запроса.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

Дополнительная информацияNext steps

В рамках этого руководства вы изучили основы создания виртуальной машины и управления ею. Вы узнали, как выполнять следующие задачи:In this tutorial, you learned about basic VM creation and management such as how to:

  • Создание виртуальной машины и подключение к нейCreate and connect to a VM
  • Выбор и использование образов виртуальных машинSelect and use VM images
  • Просмотр и использование определенных размеров виртуальных машинView and use specific VM sizes
  • Изменение размера виртуальной машиныResize a VM
  • Просмотр виртуальной машины и оценка ее состоянияView and understand VM state

Перейдите к следующему руководству, чтобы узнать о дисках виртуальных машин.Advance to the next tutorial to learn about VM disks.