Samouczek: tworzenie maszyn wirtualnych z systemem Linux i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure

Uwaga

W tym artykule odwołuje się do systemu CentOS — dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące zakończenia życia systemu CentOS.

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux — elastyczne zestawy skalowania ✔️

Maszyny wirtualne platformy Azure oferują w pełni konfigurowalne i elastyczne środowiska obliczeniowe. 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. Dowiedz się, jak odbywa się:

  • Tworzenie maszyny wirtualnej i łączenie z nią
  • Wybieranie i używanie obrazów maszyn wirtualnych
  • Wyświetlanie i używanie określonych rozmiarów maszyn wirtualnych
  • Zmienianie rozmiaru maszyny wirtualnej
  • Wyświetlanie stanu maszyny wirtualnej i jego omówienie

W tym samouczku jest używany interfejs wiersza polecenia w usłudze Azure Cloud Shell, który jest stale aktualizowany do najnowszej wersji.

Jeśli zdecydujesz się zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie, ten samouczek wymaga interfejsu wiersza polecenia platformy Azure w wersji 2.0.30 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Utwórz grupę zasobów

Utwórz grupę zasobów za pomocą polecenia az group create.

Grupa zasobów platformy Azure to logiczny kontener przeznaczony do wdrażania zasobów platformy Azure i zarządzania nimi. Grupę zasobów należy utworzyć przed maszyną wirtualną. W tym przykładzie grupa zasobów o nazwie myResourceGroupVM jest tworzona w regionie eastus2 .

az group create --name myResourceGroupVM --location eastus2

Grupa zasobów jest określana podczas tworzenia lub modyfikowania maszyn wirtualnych, co zostało przedstawione w tym samouczku.

Tworzenie maszyny wirtualnej

Utwórz maszynę wirtualną za pomocą polecenia az vm create.

Podczas tworzenia maszyny wirtualnej masz dostęp do kilku opcji, takich jak obraz systemu operacyjnego, ustalanie rozmiaru dysku i poświadczenia administracyjne. Poniższy przykład tworzy maszynę wirtualną o nazwie myVM z uruchomionym systemem SUSE Linux Enterprise Server (SLES). 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):

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

Tworzenie maszyny wirtualnej może potrwać kilka minut. Po utworzeniu maszyny wirtualnej interfejs wiersza polecenia platformy Azure wyświetla informacje o maszynie wirtualnej. Zanotuj publicIpAddressadres , który może służyć do uzyskiwania dostępu do maszyny wirtualnej.

{
  "fqdns": "",
  "id": "/subscriptions/d5b9d4b7-6fc1-0000-0000-000000000000/resourceGroups/myResourceGroupVM/providers/Microsoft.Compute/virtualMachines/myVM",
  "location": "eastus2",
  "macAddress": "00-0D-3A-23-9A-49",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "52.174.34.95",
  "resourceGroup": "myResourceGroupVM"
}

Łączenie z maszyną wirtualną

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. Zastąp przykładowy adres IP adresem publicIpAddress zanotowanym w poprzednim kroku.

ssh azureuser@52.174.34.95

Po zalogowaniu się do maszyny wirtualnej możesz zainstalować i skonfigurować aplikacje. Gdy skończysz, zamknij sesję SSH jak zwykle:

exit

Omówienie obrazów maszyny wirtualnej

Witryna Azure Marketplace zawiera wiele obrazów, których można użyć do tworzenia maszyn wirtualnych. W poprzednich krokach utworzono maszynę wirtualną przy użyciu obrazu systemu Ubuntu. 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.

Aby wyświetlić listę najczęściej używanych obrazów, użyj polecenia az vm image list.

az vm image list --output table

W danych wyjściowych tego polecenia wyświetlana jest lista najpopularniejszych obrazów maszyn wirtualnych na platformie Azure.

Architecture    Offer                         Publisher               Sku                                 Urn                                                                             UrnAlias                 Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------  -----------------------  ---------
x64             CentOS                        OpenLogic               7.5                                 OpenLogic:CentOS:7.5:latest                                                     CentOS                   latest
x64             debian-10                     Debian                  10                                  Debian:debian-10:10:latest                                                      Debian                   latest
x64             flatcar-container-linux-free  kinvolk                 stable                              kinvolk:flatcar-container-linux-free:stable:latest                              Flatcar                  latest
x64             opensuse-leap-15-3            SUSE                    gen2                                SUSE:opensuse-leap-15-3:gen2:latest                                             openSUSE-Leap            latest
x64             RHEL                          RedHat                  7-LVM                               RedHat:RHEL:7-LVM:latest                                                        RHEL                     latest
x64             sles-15-sp3                   SUSE                    gen2                                SUSE:sles-15-sp3:gen2:latest                                                    SLES                     latest
x64             UbuntuServer                  Canonical               18.04-LTS                           Canonical:UbuntuServer:18.04-LTS:latest                                         UbuntuLTS                latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-Datacenter                     MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest                     Win2022Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-datacenter-azure-edition-core  MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest  Win2022AzureEditionCore  latest
x64             WindowsServer                 MicrosoftWindowsServer  2019-Datacenter                     MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest                     Win2019Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2016-Datacenter                     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest                     Win2016Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-R2-Datacenter                  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest                  Win2012R2Datacenter      latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-Datacenter                     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest                     Win2012Datacenter        latest
x64             WindowsServer                 MicrosoftWindowsServer  2008-R2-SP1                         MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:latest                         Win2008R2SP1             latest

Pełną listę można zobaczyć, dodając --all parametr . Listę obrazów można także filtrować za pomocą argumentów --publisher lub –-offer. W tym przykładzie lista jest filtrowana dla wszystkich obrazów opublikowanych przez firmę OpenLogic z ofertą zgodną z systemem CentOS.

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

Przykładowe dane wyjściowe częściowe:

Architecture    Offer                      Publisher    Sku              Urn                                                       Version
--------------  -------------------------  -----------  ---------------  --------------------------------------------------------  ---------------
x64             CentOS                     OpenLogic    8_2              OpenLogic:CentOS:8_2:8.2.2020111800                       8.2.2020111800
x64             CentOS                     OpenLogic    8_2-gen2         OpenLogic:CentOS:8_2-gen2:8.2.2020062401                  8.2.2020062401
x64             CentOS                     OpenLogic    8_2-gen2         OpenLogic:CentOS:8_2-gen2:8.2.2020100601                  8.2.2020100601
x64             CentOS                     OpenLogic    8_2-gen2         OpenLogic:CentOS:8_2-gen2:8.2.2020111801                  8.2.2020111801
x64             CentOS                     OpenLogic    8_3              OpenLogic:CentOS:8_3:8.3.2020120900                       8.3.2020120900
x64             CentOS                     OpenLogic    8_3              OpenLogic:CentOS:8_3:8.3.2021020400                       8.3.2021020400
x64             CentOS                     OpenLogic    8_3-gen2         OpenLogic:CentOS:8_3-gen2:8.3.2020120901                  8.3.2020120901
x64             CentOS                     OpenLogic    8_3-gen2         OpenLogic:CentOS:8_3-gen2:8.3.2021020401                  8.3.2021020401
x64             CentOS                     OpenLogic    8_4              OpenLogic:CentOS:8_4:8.4.2021071900                       8.4.2021071900
x64             CentOS                     OpenLogic    8_4-gen2         OpenLogic:CentOS:8_4-gen2:8.4.2021071901                  8.4.2021071901
x64             CentOS                     OpenLogic    8_5              OpenLogic:CentOS:8_5:8.5.2022012100                       8.5.2022012100
x64             CentOS                     OpenLogic    8_5              OpenLogic:CentOS:8_5:8.5.2022101800                       8.5.2022101800
x64             CentOS                     OpenLogic    8_5-gen2         OpenLogic:CentOS:8_5-gen2:8.5.2022012101                  8.5.2022012101

Uwaga

Firma Canonical zmieniła nazwy ofert , których używają dla najnowszych wersji. Przed systemem Ubuntu 20.04 nazwa oferty to UbuntuServer. W systemie Ubuntu 20.04 nazwa oferty to 0001-com-ubuntu-server-focal i dla systemu Ubuntu 22.04 to 0001-com-ubuntu-server-jammy.

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. Podczas określania obrazu numer wersji obrazu można zastąpić latestciągiem , który wybiera najnowszą wersję dystrybucji. W tym przykładzie --image parametr służy do określania najnowszej wersji systemu CentOS 8.5.

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

Omówienie rozmiarów maszyn wirtualnych

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. Maszyny wirtualne muszą mieć rozmiary stosowne do oczekiwanych obciążeń. Jeśli obciążenie zwiększy się, można zmienić rozmiar istniejącej maszyny wirtualnej.

Rozmiary maszyn wirtualnych

W poniższej tabeli przedstawiono kategorie rozmiarów podzielone według przypadków użycia.

Type Opis
Ogólnego przeznaczenia Zrównoważona moc procesora CPU w stosunku do pamięci. Opcja idealna w przypadku tworzenia i testowania, małych i średnich aplikacji oraz rozwiązań dotyczących danych.
Optymalizacja pod kątem obliczeń Duża moc procesora CPU w stosunku do pamięci. Opcja dobra w przypadku aplikacji o średnim ruchu, urządzeń sieciowych i procesów wsadowych.
Optymalizacja pod kątem pamięci Duża ilość pamięci na rdzeń. Opcja bardzo dobra w przypadku relacyjnych baz danych, średnich i dużych pamięci podręcznych oraz analizowania w pamięci.
Optymalizacja pod kątem magazynu Wysoka przepływność dysku i duża liczba operacji we/wy. Opcja idealna w przypadku danych big data oraz baz danych SQL i NoSQL.
Procesor GPU Maszyny wirtualne wyspecjalizowane pod kątem intensywnego renderowania grafiki i edytowania materiałów wideo.
Wysoka wydajność Maszyny wirtualne z najbardziej wydajnymi procesorami CPU oraz, opcjonalnie, interfejsami sieciowymi zapewniającymi wysoką przepływność (RDMA).

Wyszukiwanie dostępnych rozmiarów maszyn wirtualnych

Aby wyświetlić listę dostępnych rozmiarów maszyn wirtualnych w danym regionie, użyj polecenia az vm list-sizes.

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

Przykładowe dane wyjściowe częściowe:

  MaxDataDiskCount    MemoryInMb  Name                      NumberOfCores    OsDiskSizeInMb    ResourceDiskSizeInMb
------------------  ------------  ----------------------  ---------------  ----------------  ----------------------
4                   8192          Standard_D2ds_v4           2                1047552           76800
8                   16384         Standard_D4ds_v4           4                1047552           153600
16                  32768         Standard_D8ds_v4           8                1047552           307200
32                  65536         Standard_D16ds_v4          16               1047552           614400
32                  131072        Standard_D32ds_v4          32               1047552           1228800
32                  196608        Standard_D48ds_v4          48               1047552           1843200
32                  262144        Standard_D64ds_v4          64               1047552           2457600
4                   8192          Standard_D2ds_v5           2                1047552           76800
8                   16384         Standard_D4ds_v5           4                1047552           153600
16                  32768         Standard_D8ds_v5           8                1047552           307200
32                  65536         Standard_D16ds_v5          16               1047552           614400
32                  131072        Standard_D32ds_v5          32               1047552           1228800
32                  196608        Standard_D48ds_v5          48               1047552           1843200
32                  262144        Standard_D64ds_v5          64               1047552           2457600
32                  393216        Standard_D96ds_v5          96               1047552           3686400

Tworzenie maszyny wirtualnej o określonym rozmiarze

W poprzednim przykładzie tworzenia maszyny wirtualnej nie podano rozmiaru, co spowodowało użycie rozmiaru domyślnego. Rozmiar maszyny wirtualnej można wybrać w czasie tworzenia przy użyciu polecenia az vm create i parametru --size .

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

Zmienianie rozmiaru maszyny wirtualnej

Po wdrożeniu maszyny wirtualnej można zmienić jej rozmiar w celu zwiększenia lub zmniejszenia alokacji zasobów. Bieżący rozmiar maszyny wirtualnej można wyświetlić za pomocą polecenia 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. Polecenie az vm list-vm-resize-options wyświetla listę rozmiarów.

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. Wykonaj zmianę rozmiaru za pomocą polecenia az vm resize.

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

Jeśli żądany rozmiar jest niedostępny w bieżącym klastrze, przed rozpoczęciem operacji zmiany rozmiaru należy cofnąć przydział maszyny wirtualnej. Za pomocą polecenia az vm deallocate zatrzymaj maszynę wirtualną i cofnij jej przydział. Pamiętaj, że kiedy maszyna wirtualna zostanie ponownie włączona, wszelkie dane na dysku tymczasowym mogą zostać usunięte. Publiczny adres IP również się zmieni, chyba że używany jest statyczny adres IP.

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

Po cofnięciu przydziału może zostać wykonana zmiana rozmiaru.

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

Po zmienieniu rozmiaru można ponownie uruchomić maszynę wirtualną.

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

Stany zasilania maszyny wirtualnej

Maszyna wirtualna platformy Azure może znajdować się w jednym z wielu stanów zasilania. Ten stan reprezentuje bieżący stan maszyny wirtualnej z punktu widzenia funkcji hypervisor.

Stany zasilania

Stan zasilania opis
Uruchamianie Wskazuje, że maszyna wirtualna jest uruchamiana.
Uruchomiono Wskazuje, że maszyna wirtualna działa.
Zatrzymywanie Wskazuje, że maszyna wirtualna jest zatrzymywana.
Zatrzymana Wskazuje, że maszyna wirtualna została zatrzymana. Opłaty za operacje obliczeniowe są także naliczane w przypadku maszyn wirtualnych w stanie Zatrzymano.
Cofanie przydziału Wskazuje, że przydział maszyny wirtualnej jest cofany.
Cofnięto przydział Wskazuje, że maszyna wirtualna została usunięta z funkcji hypervisor, ale jest nadal dostępna na płaszczyźnie kontroli. Opłaty za operacje obliczeniowe nie są naliczane w przypadku maszyn wirtualnych w stanie Cofnięto przydział.
- Wskazuje, że stan zasilania maszyny wirtualnej jest nieznany.

Znajdowanie stanu zasilania

Aby pobrać stan określonej maszyny wirtualnej, użyj polecenia az vm get-instance-view. Pamiętaj, aby określić prawidłową nazwę maszyny wirtualnej i grupy zasobów.

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

Dane wyjściowe:

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

Aby pobrać stan zasilania wszystkich maszyn wirtualnych w ramach subskrypcji, użyj pozycji Virtual Machines — wyświetl listę wszystkich interfejsów API ze stanem parametruOnly ustaw wartość true.

Zadania zarządzania

W trakcie cyklu życia maszyny wirtualnej można uruchamiać zadania zarządzania, takie jak uruchamianie, zatrzymywanie lub usuwanie maszyny wirtualnej. Ponadto można tworzyć skrypty służące do automatyzowania zadań powtarzających się lub złożonych. Używając interfejsu wiersza polecenia platformy Azure, wiele typowych zadań zarządzania można uruchamiać z poziomu wiersza polecenia lub w skryptach.

Uzyskiwanie adresu IP

To polecenie wyświetla prywatny i publiczny adres IP maszyny wirtualnej.

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

Zatrzymaj maszynę wirtualną

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

Uruchom maszynę wirtualną

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

Usuwanie zasobów maszyny wirtualnej

W zależności od sposobu usuwania maszyny wirtualnej może ona usuwać tylko zasób maszyny wirtualnej, a nie zasoby sieciowe i dyskowe. Możesz zmienić domyślne zachowanie, aby usunąć inne zasoby podczas usuwania maszyny wirtualnej. Aby uzyskać więcej informacji, zobacz Usuwanie maszyny wirtualnej i dołączonych zasobów.

Usunięcie grupy zasobów powoduje również usunięcie wszystkich zasobów w grupie zasobów, takich jak maszyna wirtualna, sieć wirtualna i dysk. Parametr --no-wait zwraca kontrolę do wiersza polecenia bez oczekiwania na zakończenie operacji. Parametr --yes potwierdza, że chcesz usunąć zasoby bez wyświetlania dodatkowego monitu.

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

Następne kroki

W niniejszym samouczku zawarto informacje dotyczące podstawowych zadań tworzenia maszyny wirtualnej i zarządzania nią, takie jak:

  • Tworzenie maszyny wirtualnej i łączenie z nią
  • Wybieranie i używanie obrazów maszyn wirtualnych
  • Wyświetlanie i używanie określonych rozmiarów maszyn wirtualnych
  • Zmienianie rozmiaru maszyny wirtualnej
  • Wyświetlanie stanu maszyny wirtualnej i jego omówienie

Przejdź do następnego samouczka, aby dowiedzieć się więcej na temat dysków maszyn wirtualnych.