Aprowizowanie maszyny wirtualnej z systemem Linux przy użyciu interfejsu wiersza polecenia platformy Azure

Ukończone

Interfejs wiersza polecenia platformy Azure można zainstalować lokalnie w systemach operacyjnych Linux, macOS i Windows. Szczegóły instalacji zależą od systemu operacyjnego i w przypadku systemu Linux, również od dystrybucji.

Uwaga

Aby uzyskać więcej informacji na temat opcji instalacji systemu Linux, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure w systemie Linux.

Aby interaktywnie używać interfejsu wiersza polecenia platformy Azure, uruchom powłokę dostępną w systemie operacyjnym, taką jak cmd.exe w systemie Windows lub Bash w systemie Linux lub macOS, a następnie wydaj polecenie w wierszu polecenia. Aby zautomatyzować powtarzalne zadania, zmontuj polecenia interfejsu wiersza polecenia w skrypt powłoki przy użyciu składni skryptu wybranej powłoki, a następnie uruchom skrypt.

Jeśli chcesz uniknąć instalowania interfejsu wiersza polecenia platformy Azure, możesz użyć usługi Azure Cloud Shell. Usługa Azure Cloud Shell to interaktywna, uwierzytelniona powłoka, której można użyć do zarządzania zasobami platformy Azure w przeglądarce internetowej. Usługa Azure Cloud Shell może uruchamiać powłokę Bash i program Azure PowerShell i ma już wstępnie zainstalowaną bieżącą wersję interfejsu wiersza polecenia platformy Azure. Aby uzyskać dostęp do usługi Azure Cloud Shell, otwórz link usługi Azure Cloud Shell w przeglądarce internetowej lub uruchom go w witrynie Azure Portal, wybierając ikonę usługi Azure Cloud Shell obok pola tekstowego wyszukiwania globalnego.

Zrzut ekranu przedstawiający ikonę usługi Azure Cloud Shell w witrynie Azure Portal.

Usługa Azure Cloud Shell zapewnia korzyść z wbudowanego uwierzytelniania, które korzysta z poświadczeń zapewnianych podczas uzyskiwania dostępu do subskrypcji platformy Azure z przeglądarki internetowej. Eliminuje to konieczność uruchamiania az login polecenia na początku każdej sesji, która jest wymagana podczas lokalnego uruchamiania interfejsu wiersza polecenia platformy Azure.

Wdrażanie maszyny wirtualnej z systemem Linux przy użyciu interfejsu wiersza polecenia platformy Azure

Proces aprowizacji maszyny wirtualnej platformy Azure z systemem Linux przy użyciu interfejsu wiersza polecenia platformy Azure zwykle obejmuje następującą sekwencję kroków wysokiego poziomu:

  • Zidentyfikuj odpowiedni obraz maszyny wirtualnej.
  • Zidentyfikuj odpowiedni rozmiar maszyny wirtualnej.
  • Utwórz grupę zasobów.
  • Tworzenie i konfigurowanie sieci wirtualnej.
  • Tworzenie maszyny wirtualnej platformy Azure.

W zależności od istniejącego środowiska i wymagań może nie być konieczne wykonanie każdego z powyższych kroków. Możesz na przykład użyć istniejącej grupy zasobów lub podsieci sieci wirtualnej do wdrożenia. Ponadto interfejs wiersza polecenia platformy Azure obsługuje szeroką gamę ustawień domyślnych, które są stosowane automatycznie, jeśli nie zdecydujesz się jawnie przypisać wartości do niektórych ustawień zasobu. Na przykład tak jak w przypadku wdrożenia opartego na witrynie Azure Portal, jeśli nie określisz istniejącej sieci wirtualnej, interfejs wiersza polecenia platformy Azure automatycznie zaaprowizuje go. W tym module będziesz polegać na domyślnych ustawieniach interfejsu wiersza polecenia platformy Azure i pominąć proces tworzenia sieci wirtualnej.

Uwaga

Aby uzyskać informacje dotyczące implementowania sieci wirtualnych przy użyciu interfejsu wiersza polecenia platformy Azure, zobacz Szybki start: tworzenie sieci wirtualnej przy użyciu interfejsu wiersza polecenia platformy Azure.

Identyfikowanie odpowiedniego obrazu maszyny wirtualnej

Przed rozpoczęciem procesu aprowizacji należy najpierw określić obraz maszyny wirtualnej, którego chcesz użyć. Należy również sprawdzić dostępność obrazu w regionie świadczenia usługi Azure, który będzie hostować wdrożenie.

Aby wyświetlić listę regionów platformy Azure dostępnych w ramach subskrypcji, uruchom następujące polecenie z sesji powłoki Bash w okienku usługi Azure Cloud Shell:

az account list-locations --output table

Przejrzyj dane wyjściowe i zidentyfikuj wartość w kolumnie Nazwa dla regionu, którego zamierzasz użyć. Załóżmy, że wybrano region Wschodnie stany USA jako docelowy, aby nazwa to eastus.

Aby zidentyfikować odpowiedni obraz, musisz określić jego wydawcę, ofertę i jednostkę SKU. Aby zawęzić listę dostępnych opcji, wyświetl listę wydawców innych niż Microsoft dla regionu zidentyfikowanego wcześniej, uruchamiając następujące polecenie:

az vm image list-publishers --location eastus --query [].name --output tsv | grep -v "Microsoft" | more

Uwaga

Lista jest dość obszerna, dlatego należy upewnić się, że dane wyjściowe są ograniczane do dostępnego buforu sesji.

Załóżmy, że wybrano pozycję Canonical. Następnie zidentyfikuj oferty dostępne od tego wydawcy, uruchamiając następujące polecenie:

az vm image list-offers --location eastus --publisher Canonical --query [].name --output tsv

Załóżmy, że wybrano pozycję 0001-com-ubuntu-server-jammy. Następnie uruchom następujące polecenie, aby zidentyfikować jednostki SKU dostępne w tej ofercie, uruchamiając następujące polecenie:

az vm image list-skus --location eastus --publisher Canonical --offer 0001-com-ubuntu-server-focal --query [].name --output tsv

Uwaga

Canonical ostatnio zmienia nazwy ofert. Przed ubuntu 20.04 nazwa oferty to UbuntuServer. W systemie Ubuntu 20.04 nazwa oferty to 0001-com-ubuntu-server-focal, a dla systemu Ubuntu 22.04 jest 0001-com-ubuntu-server-jammyto .

Aby wdrożyć maszynę wirtualną platformy Azure przy użyciu określonego obrazu, należy określić wartość jej Urn właściwości. Ta wartość składa się z wydawcy, oferty, jednostki SKU i opcjonalnie numeru wersji, który jednoznacznie identyfikuje obraz. Można również ustawić numer wersji na najnowszy, który wyznacza najnowszą wersję dystrybucji. Aby wyświetlić wartość Urn właściwości dla wszystkich obrazów ubuntu 22_04-lts w regionie Wschodnie stany USA, uruchom następujące polecenie:

az vm image list --location eastus --publisher Canonical --offer 0001-com-ubuntu-server-jammy --sku 22_04-lts --all --output table

Uwaga

Właściwości można użyć do prostszego UrnAlias (choć mniej elastycznego) podejścia do projektowania obrazu do użycia podczas wdrażania. Ta właściwość jest łatwo dostępna dla najbardziej typowych obrazów i można pobrać jej wartości, uruchamiając polecenie interfejsu wiersza polecenia platformy az vm image list --output table Azure. Na przykład element UrnAlias Ubuntu2204 odpowiada obrazowi Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest.

Identyfikowanie odpowiedniego rozmiaru maszyny wirtualnej

Oprócz dostępności obrazu należy również upewnić się, że rozmiar maszyny wirtualnej, który zamierzasz użyć, jest dostępny w regionie świadczenia usługi Azure, który będzie hostować wdrożenie. Aby to potwierdzić, uruchom następujące polecenie:

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

Zidentyfikuj rozmiar maszyny wirtualnej odpowiedni dla przykładowego wdrożenia z listy i zanotuj wartość w kolumnie Nazwa. Musisz wprowadzić nazwę w identycznym formacie podczas uruchamiania polecenia interfejsu wiersza polecenia platformy Azure, które inicjuje aprowizację maszyny wirtualnej platformy Azure. Załóżmy, że wybrano Standard_F4s.

Ważne

Przed kontynuowaniem sprawdź, czy ten rozmiar maszyny wirtualnej jest dostępny w regionie platformy Azure, którego dotyczysz, i w razie potrzeby dostosuj odpowiednio wartości parametrów w kolejnych poleceniach.

Tworzenie grupy zasobów

Po zidentyfikowaniu obrazu i rozmiaru maszyny wirtualnej platformy Azure możesz teraz rozpocząć proces aprowizacji. Zacznij od utworzenia grupy zasobów do hostowania maszyny wirtualnej platformy Azure i jej zasobów zależnych. Aby utworzyć grupę zasobów, użyj polecenia az group create. To polecenie wymaga określenia zarówno wartości parametrów nazwy, jak i lokalizacji, które określają odpowiednio nazwę grupy zasobów i docelowy region platformy Azure.

az group create --name rg_lnx-cli --location eastus

Dane wyjściowe polecenia powinny przypominać następujący przykład:

{
  "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/sample-RG",
  "location": "eastus",
  "managedBy": null,
  "name": "rg_lnx-cli",
  "properties": {
    "provisioningState": "Succeeded"
  },
  "tags": null,
  "type": "Microsoft.Resources/resourceGroups"
}

Tworzenie maszyny wirtualnej platformy Azure

Aby utworzyć maszynę wirtualną, użyj az vm create polecenia . To polecenie obsługuje szeroką gamę parametrów, w tym obraz systemu operacyjnego, rozmiar dysku i poświadczenia administracyjne. W poniższym przykładzie az vm create polecenie wyzwala wdrożenie maszyny wirtualnej platformy Azure o nazwie sample-cli-vm0, która hostuje najnowszą wersję jednostki SKU ubuntu 22_04-lts-gen2. Proces aprowizacji konfiguruje konto użytkownika administracyjnego o nazwie azureuser z uwierzytelnianiem na podstawie pary kluczy SSH. Klucz prywatny i publiczny są generowane i przechowywane lokalnie w ich lokalizacji domyślnej (~/.ssh), aby zezwolić na dostęp SSH do maszyny wirtualnej platformy Azure. Użyj następującego przykładu kodu, aby utworzyć maszynę wirtualną platformy Azure:

az vm create \
    --resource-group rg_lnx-cli \
    --name lnx-cli-vm \
    --image Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest \
    --size Standard_F4s \
    --admin-username azureuser \
    --generate-ssh-keys

Uwaga

Parametr --size jest opcjonalny. Jeśli zdecydujesz się go wykluczyć, wynikowy rozmiar będzie zależeć od wybranego obrazu.

Maszyna wirtualna platformy Azure rozpocznie się wkrótce potem, zwykle w ciągu kilku minut. Dane wyjściowe polecenia interfejsu wiersza polecenia platformy Azure będą zawierać informacje w formacie JSON dotyczące nowo wdrożonej maszyny wirtualnej platformy Azure:

{
  "fqdns": "",
  "id": "/subscriptions/bbbb1b1b-cc2c-dd3d-ee4e-ffffff5f5f5f/resourceGroups/rg_lnx-cli/providers/Microsoft.Compute/virtualMachines/lnx-cli-vm",
  "location": "eastus",
  "macAddress": "00-0D-3A-8C-C6-AE",
  "powerState": "VM running",
  "privateIpAddress": "10.0.0.4",
  "publicIpAddress": "20.51.149.212",
  "resourceGroup": "rg_lnx-cli",
  "zones": ""
}

Na tym etapie będzie można nawiązać połączenie z maszyną wirtualną platformy Azure, uruchamiając następujące polecenie (po zastąpieniu <symbolu zastępczego public_ip_address> adresem IP zidentyfikowanym w danych wyjściowych wygenerowanych przez interfejs wiersza polecenia platformy Azure) z komputera, na którym jest przechowywany klucz prywatny:

ssh azureuser@<public_ip_address>