Samouczek: tworzenie maszyn wirtualnych z systemem Linux i zarządzanie nimi za pomocą interfejsu wiersza polecenia platformy Azure
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 publicIpAddress
adres , 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 wyszukiwania w witrynie Marketplace obrazu systemu Ubuntu, który jest następnie używany do wdrażania drugiej maszyny wirtualnej.
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 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 0001-com-ubuntu-server-jammy 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 0001-com-ubuntu-server-jammy.
az vm image list --offer 0001-com-ubuntu-server-jammy --publisher Canonical --all --output table
Przykładowe dane wyjściowe częściowe:
Architecture Offer Publisher Sku Urn Version
-------------- --------------------------------- ----------- --------------- ------------------------------------------------------------------------ ---------------
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202204200 22.04.202204200
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205060 22.04.202205060
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202205280 22.04.202205280
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206040 22.04.202206040
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206090 22.04.202206090
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206160 22.04.202206160
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202206220 22.04.202206220
x64 0001-com-ubuntu-server-jammy Canonical 22_04-lts Canonical:0001-com-ubuntu-server-jammy:22_04-lts:22.04.202207060 22.04.202207060
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ć latest
ciągiem , który wybiera najnowszą wersję dystrybucji. W tym przykładzie --image
parametr służy do określania najnowszej wersji systemu Ubuntu 22.04.
az vm create --resource-group myResourceGroupVM --name myVM2 --image Canonical:0001-com-ubnutu-server-jammy:22_04-lts: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
Wyjście:
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.