Udostępnij za pośrednictwem


Wdrażanie maszyn wirtualnych na urządzeniu z procesorem GPU Pro usługi Azure Stack Edge za pomocą szablonów

DOTYCZY: Tak dla jednostki SKU procesora GPU ProAzure Stack Edge Pro — GPUTak dla jednostki SKU Pro 2Azure Stack Edge Pro 2Tak dla jednostki SKU Pro RAzure Stack Edge Pro R Azure Stack Edge Mini RTak dla jednostki SKU Mini R

W tym samouczku opisano sposób tworzenia maszyny wirtualnej i zarządzania nią na urządzeniu Azure Stack Edge Pro przy użyciu szablonów. Te szablony to pliki JavaScript Object Notation (JSON), które definiują infrastrukturę i konfigurację maszyny wirtualnej. W tych szablonach określisz zasoby do wdrożenia i właściwości tych zasobów.

Szablony są elastyczne w różnych środowiskach, ponieważ mogą przyjmować parametry jako dane wejściowe w czasie wykonywania z pliku. Standardowa struktura nazewnictwa dotyczy TemplateName.json szablonu i TemplateName.parameters.json pliku parametrów. Aby uzyskać więcej informacji na temat szablonów usługi ARM, przejdź do tematu Co to są szablony usługi Azure Resource Manager?.

W tym samouczku użyjemy wstępnie napisanych przykładowych szablonów do tworzenia zasobów. Nie trzeba edytować pliku szablonu i można zmodyfikować tylko .parameters.json pliki, aby dostosować wdrożenie na maszynie.

Przepływ pracy wdrażania maszyny wirtualnej

Aby wdrożyć maszyny wirtualne usługi Azure Stack Edge Pro na wielu urządzeniach, możesz użyć pojedynczego dysku VHD z obsługą systemu dla pełnej floty, tego samego szablonu do wdrożenia i po prostu wprowadzić drobne zmiany w parametrach dla każdej lokalizacji wdrożenia (te zmiany mogą być ręcznie, jak to robimy, lub programowe).

Ogólne podsumowanie przepływu pracy wdrażania przy użyciu szablonów jest następujące:

  1. Konfigurowanie wymagań wstępnych — istnieją trzy typy wymagań wstępnych : urządzenie, klient i maszyna wirtualna.

    1. Wymagania wstępne dotyczące urządzeń

      1. Nawiąż połączenie z usługą Azure Resource Manager na urządzeniu.
      2. Włącz obliczenia za pośrednictwem lokalnego interfejsu użytkownika.
    2. Wymagania wstępne klienta

      1. Pobierz szablony maszyn wirtualnych i skojarzone pliki na kliencie.
      2. Opcjonalnie skonfiguruj protokół TLS 1.2 na kliencie.
      3. Pobierz i zainstaluj Eksplorator usługi Microsoft Azure Storage na kliencie.
    3. Wymagania wstępne dotyczące maszyn wirtualnych

      1. Utwórz grupę zasobów w lokalizacji urządzenia, która będzie zawierać wszystkie zasoby maszyny wirtualnej.
      2. Utwórz konto magazynu w celu przekazania wirtualnego dysku twardego użytego do utworzenia obrazu maszyny wirtualnej.
      3. Dodaj identyfikator URI konta magazynu lokalnego do pliku DNS lub hostów na kliencie, który uzyskuje dostęp do urządzenia.
      4. Zainstaluj certyfikat magazynu obiektów blob na urządzeniu i na lokalnym kliencie, który uzyskuje dostęp do urządzenia. Opcjonalnie zainstaluj certyfikat magazynu obiektów blob na Eksplorator usługi Storage.
      5. Utwórz i przekaż dysk VHD do utworzonego wcześniej konta magazynu.
  2. Tworzenie maszyny wirtualnej na podstawie szablonów

    1. Utwórz obraz maszyny wirtualnej przy użyciu CreateImage.parameters.json pliku parametrów i CreateImage.json szablonu wdrożenia.
    2. Utwórz maszynę wirtualną z wcześniej utworzonymi zasobami przy użyciu CreateVM.parameters.json pliku parametrów i CreateVM.json szablonu wdrożenia.

Wymagania wstępne dotyczące urządzeń

Skonfiguruj te wymagania wstępne na urządzeniu Azure Stack Edge Pro.

Przed wdrożeniem maszyn wirtualnych na urządzeniu Azure Stack Edge należy skonfigurować klienta tak, aby łączył się z urządzeniem za pośrednictwem usługi Azure Resource Manager za pośrednictwem programu Azure PowerShell. Aby uzyskać szczegółowe instrukcje, zobacz Nawiązywanie połączenia z usługą Azure Resource Manager na urządzeniu Azure Stack Edge.

Upewnij się, że możesz użyć poniższych kroków, aby uzyskać dostęp do urządzenia z poziomu klienta. Ta konfiguracja została już wykonana po nawiązaniu połączenia z usługą Azure Resource Manager, a teraz sprawdzasz, czy konfiguracja zakończyła się pomyślnie.

  1. Sprawdź, czy komunikacja z usługą Azure Resource Manager działa, uruchamiając następujące polecenie:

    Add-AzEnvironment -Name <Environment Name> -ARMEndpoint "https://management.<appliance name>.<DNSDomain>"
    
  2. Aby wywołać interfejsy API urządzeń lokalnych w celu uwierzytelnienia, wprowadź:

    login-AzAccount -EnvironmentName <Environment Name> -TenantId c0257de7-538f-415c-993a-1b87a031879d
    

    Aby nawiązać połączenie za pośrednictwem usługi Azure Resource Manager, podaj nazwę użytkownika EdgeArmUser i hasło.

  3. Jeśli skonfigurowano obliczenia dla platformy Kubernetes, możesz pominąć ten krok. W przeciwnym razie upewnij się, że interfejs sieciowy dla obliczeń został włączony, wykonując następujące czynności:

    a. W lokalnym interfejsie użytkownika przejdź do pozycji Ustawienia obliczeniowe .
    b. Wybierz interfejs sieciowy, którego chcesz użyć do utworzenia przełącznika wirtualnego. Utworzone maszyny wirtualne zostaną dołączone do przełącznika wirtualnego dołączonego do tego portu i skojarzonej sieci. Pamiętaj, aby wybrać sieć zgodną z adresem IP używanym dla maszyny wirtualnej.

    Zrzut ekranu przedstawiający okienko Ustawienia sieci konfiguracji obliczeniowej.

    c. W obszarze Włącz dla obliczeń w interfejsie sieciowym wybierz pozycję Tak. Usługa Azure Stack Edge utworzy przełącznik wirtualny odpowiadający interfejsowi sieciowemu i zarządza nim. Obecnie nie wprowadzaj określonych adresów IP dla platformy Kubernetes. Włączenie obliczeń może potrwać kilka minut.

    Uwaga

    Jeśli tworzysz maszyny wirtualne procesora GPU, wybierz interfejs sieciowy połączony z Internetem. Dzięki temu można zainstalować rozszerzenie procesora GPU na urządzeniu.

Wymagania wstępne klienta

Skonfiguruj te wymagania wstępne na kliencie, który będzie używany do uzyskiwania dostępu do urządzenia Azure Stack Edge Pro.

  1. Pobierz Eksplorator usługi Storage, jeśli używasz go do przekazywania dysku VHD. Alternatywnie możesz pobrać narzędzie AzCopy, aby przekazać dysk VHD. W przypadku uruchamiania starszych wersji narzędzia AzCopy może być konieczne skonfigurowanie protokołu TLS 1.2 na komputerze klienckim.
  2. Pobierz szablony maszyn wirtualnych i pliki parametrów na komputer kliencki. Rozpakuj go do katalogu, którego będziesz używać jako katalogu roboczego.

Wymagania wstępne maszyny wirtualnej

Skonfiguruj te wymagania wstępne, aby utworzyć zasoby wymagane do utworzenia maszyny wirtualnej.

Tworzenie grupy zasobów

Utwórz grupę zasobów platformy Azure za pomocą polecenia New-AzResourceGroup. Grupa zasobów to logiczny kontener, w którym są wdrażane i zarządzane zasoby platformy Azure, takie jak konto magazynu, dysk, dysk zarządzany.

Ważne

Wszystkie zasoby są tworzone w tej samej lokalizacji co urządzenie, a lokalizacja jest ustawiona na DBELocal.

New-AzResourceGroup -Name <Resource group name> -Location DBELocal

Oto przykładowe dane wyjściowe:

PS C:\WINDOWS\system32> New-AzResourceGroup -Name myaserg1 -Location DBELocal

ResourceGroupName : myaserg1
Location          : dbelocal
ProvisioningState : Succeeded
Tags              :
ResourceId        : /subscriptions/04a485ed-7a09-44ab-6671-66db7f111122/resourceGroups/myaserg1

PS C:\WINDOWS\system32> 

Tworzenie konta magazynu

Utwórz nowe konto magazynu przy użyciu grupy zasobów utworzonej w poprzednim kroku. To konto jest lokalnym kontem magazynu, które będzie używane do przekazywania obrazu dysku wirtualnego dla maszyny wirtualnej.

New-AzStorageAccount -Name <Storage account name> -ResourceGroupName <Resource group name> -Location DBELocal -SkuName Standard_LRS

Uwaga

Za pośrednictwem usługi Azure Resource Manager można tworzyć tylko konta magazynu lokalnego, takie jak magazyn lokalnie nadmiarowy (Standard_LRS lub Premium_LRS). Aby utworzyć konta magazynu warstwowego, zobacz kroki opisane w temacie Dodawanie, nawiązywanie połączenia z kontami magazynu w usłudze Azure Stack Edge Pro.

Oto przykładowe dane wyjściowe:

PS C:\WINDOWS\system32>New-AzStorageAccount -Name myasesa1 -ResourceGroupName myaserg1 -Location DBELocal -SkuName Standard_LRS

StorageAccountName ResourceGroupName PrimaryLocation SkuName Kind AccessTier CreationTime ProvisioningState EnableHttpsTrafficOnly
------------------ ----------------- --------------- ------- ---- ---------- ------------ ----------------- ------
myasesa1        myaserg1 DBELocal Standard_LRS Storage 4/18/2022 8:35:09 PM Succeeded False

PS C:\WINDOWS\system32>

Aby uzyskać klucz konta magazynu, uruchom Get-AzStorageAccountKey polecenie . Oto przykładowe dane wyjściowe:

PS C:\WINDOWS\system32> Get-AzStorageAccountKey

cmdlet Get-AzStorageAccountKey at command pipeline position 1
Supply values for the following parameters:
(Type !? for Help.)
ResourceGroupName: myaserg1
Name: myasesa1

KeyName Value                                                                                    Permissions
------- -----                                                                                    -----------
key1    7a707uIh43qADXvuhwqtw39mwq3M97r1BflhoF2yZ6W9FNkGOCblxb7nDSiYVGQprpkKk0Au2AjmgUXUT6yCog== Full
key2    2v1VQ6qH1CJ9bOjB15p4jg9Ejn7iazU95Qe8hAGE22MTL21Ac5skA6kZnE3nbe+rdiXiORBeVh9OpJcMOfoaZg== Full

PS C:\WINDOWS\system32>

Dodawanie identyfikatora URI obiektu blob do pliku hosts

Upewnij się, że identyfikator URI obiektu blob został już dodany w pliku hostów dla klienta, którego używasz do nawiązywania połączenia z usługą Blob Storage. Uruchom Notatnik jako administrator i dodaj następujący wpis dla identyfikatora URI obiektu blob w pliku C:\windows\system32\drivers\etc\hosts:

<Device IP> <storage account name>.blob.<Device name>.<DNS domain>

W typowym środowisku należy skonfigurować system DNS tak, aby wszystkie konta magazynu wskazywały urządzenie Azure Stack Edge Pro z wpisem *.blob.devicename.domainname.com .

(Opcjonalnie) Instalowanie certyfikatów

Pomiń ten krok, jeśli połączysz się za pośrednictwem Eksplorator usługi Storage przy użyciu protokołu HTTP. Jeśli używasz protokołu https, musisz zainstalować odpowiednie certyfikaty w Eksplorator usługi Storage. W takim przypadku zainstaluj certyfikat punktu końcowego obiektu blob. Aby uzyskać więcej informacji, zobacz jak tworzyć i przekazywać certyfikaty w temacie Zarządzanie certyfikatami.

Tworzenie i przekazywanie wirtualnego dysku twardego

Upewnij się, że masz obraz dysku wirtualnego, którego można użyć do przekazania w późniejszym kroku. Wykonaj kroki opisane w temacie Tworzenie obrazu maszyny wirtualnej.

Skopiuj wszystkie obrazy dysków, które mają być używane do stronicowych obiektów blob na lokalnym koncie magazynu utworzonym we wcześniejszych krokach. Możesz użyć narzędzia, takiego jak Eksplorator usługi Storage lub AzCopy, aby przekazać dysk VHD do konta magazynu utworzonego we wcześniejszych krokach.

Używanie Eksplorator usługi Storage do przekazywania

  1. Otwórz Eksplorator usługi Storage. Przejdź do pozycji Edytuj i upewnij się, że aplikacja jest ustawiona na docelowe interfejsy API usługi Azure Stack.

    Ustawianie elementu docelowego na interfejsy API usługi Azure Stack

  2. Zainstaluj certyfikat klienta w formacie PEM. Przejdź do pozycji Edytuj > certyfikaty SSL Importuj certyfikaty>. Wskaż certyfikat klienta.

    Importowanie certyfikatu punktu końcowego magazynu obiektów blob

    • Jeśli używasz certyfikatów wygenerowanych przez urządzenie, pobierz i przekonwertuj certyfikat punktu końcowego .cer .pem magazynu obiektów blob na format. Uruchom następujące polecenie.

      PS C:\windows\system32> Certutil -encode 'C:\myasegpu1_Blob storage (1).cer' .\blobstoragecert.pem
      Input Length = 1380
      Output Length = 1954
      CertUtil: -encode command completed successfully.
      
    • Jeśli wprowadzasz własny certyfikat, użyj certyfikatu głównego łańcucha podpisywania w .pem formacie.

  3. Po zaimportowaniu certyfikatu uruchom ponownie Eksplorator usługi Storage, aby zmiany zaczęły obowiązywać.

    Ponowne uruchamianie Eksplorator usługi Storage

  4. W okienku po lewej stronie kliknij prawym przyciskiem myszy pozycję Konta magazynu i wybierz pozycję Połącz z usługą Azure Storage.

    Nawiązywanie połączenia z usługą Azure Storage 1

  5. Wybierz pozycję Użyj klucza i nazwy konta magazynu. Wybierz Dalej.

    Nawiązywanie połączenia z usługą Azure Storage 2

  6. W polu Połącz z nazwą i kluczem podaj nazwę wyświetlaną, nazwę konta magazynu, klucz konta usługi Azure Storage. Wybierz pozycję Inna domena <device name>.<DNS domain> magazynu, a następnie podaj parametry połączenia. Jeśli certyfikat nie został zainstalowany w Eksplorator usługi Storage, zaznacz opcję Użyj protokołu HTTP. Wybierz Dalej.

    Nawiązywanie połączenia przy użyciu nazwy i klucza

  7. Przejrzyj podsumowanie połączenia i wybierz pozycję Połącz.

  8. Konto magazynu zostanie wyświetlone w okienku po lewej stronie. Wybierz i rozwiń konto magazynu. Wybierz pozycję Kontenery obiektów blob, kliknij prawym przyciskiem myszy i wybierz pozycję Utwórz kontener obiektów blob. Podaj nazwę kontenera obiektów blob.

  9. Wybierz właśnie utworzony kontener, a następnie w okienku po prawej stronie wybierz pozycję Przekaż > pliki.

    Przekazywanie pliku VHD 1

  10. Przeglądaj i wskaż dysk VHD, który chcesz przekazać w wybranych plikach. Wybierz pozycję Typ obiektu blob jako stronicowy obiekt blob i wybierz pozycję Przekaż.

    Przekazywanie pliku VHD 2

  11. Po załadowaniu wirtualnego dysku twardego do kontenera obiektów blob wybierz dysk VHD, kliknij prawym przyciskiem myszy, a następnie wybierz polecenie Właściwości.

    Przekazywanie pliku VHD 3

  12. Skopiuj i zapisz identyfikator URI, który będzie używany w kolejnych krokach.

    Kopiowanie identyfikatora URI

Tworzenie obrazu dla maszyny wirtualnej

Aby utworzyć obraz maszyny wirtualnej, zmodyfikuj CreateImage.parameters.json plik parametrów, a następnie wdróż szablon, który używa tego pliku parametrów CreateImage.json .

Edytowanie pliku parametrów

Plik CreateImage.parameters.json przyjmuje następujące parametry:

"parameters": {
    "osType": {
        "value": "<Operating system corresponding to the VHD you upload can be Windows or Linux>"
    },
    "imageName": {
        "value": "<Name for the VM image>"
    },
    "imageUri": {
        "value": "<Path to the VHD that you uploaded in the Storage account>"
    },
    "hyperVGeneration": { 
        "type": "string", 
        "value": "<Generation of the VM, V1 or V2>"
    }, 
}

Edytuj plik CreateImage.parameters.json , aby uwzględnić następujące wartości dla urządzenia Azure Stack Edge Pro:

  1. Podaj typ systemu operacyjnego i generację funkcji Hyper V odpowiadającą przekazanemu wirtualnemu dyskowi twardemu. Typ systemu operacyjnego może być windows lub Linux, a generacja maszyny wirtualnej może mieć wartość V1 lub V2.

    "parameters": {
            "osType": {
              "value": "Windows"
            }, 
            "hyperVGeneration": { 
              "value": "V2" 
        },
    }
    
  2. Zmień identyfikator URI obrazu na identyfikator URI obrazu przekazanego we wcześniejszym kroku:

    "imageUri": {
        "value": "https://myasegpusavm.blob.myasegpu1.wdshcsso.com/windows/WindowsServer2016Datacenter.vhd"
        },
    

    Jeśli używasz protokołu HTTP z Eksplorator usługi Storage, zmień identyfikator URI na identyfikator URI http.

  3. Podaj unikatową nazwę obrazu. Ten obraz służy do tworzenia maszyny wirtualnej w kolejnych krokach.

    Oto przykładowy kod json używany w tym artykule.

    {
        "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
        "contentVersion": "1.0.0.0",
      "parameters": {
        "osType": {
          "value": "Linux"
        },
        "hyperVGeneration": {
         "value": "V1"
        },
        "imageName": {
          "value": "myaselinuximg"
        },
        "imageUri": {
          "value": "https://sa2.blob.myasegpuvm.wdshcsso.com/con1/ubuntu18.04waagent.vhd"
        }        
      }
    }
    
  4. Zapisz plik parametrów.

Wdrażanie szablonu

Wdróż szablon CreateImage.json. Ten szablon wdraża zasoby obrazu, które będą używane do tworzenia maszyn wirtualnych w późniejszym kroku.

Uwaga

Jeśli podczas wdrażania szablonu wystąpi błąd uwierzytelniania, poświadczenia platformy Azure dla tej sesji mogły wygasły. login-Az Uruchom ponownie polecenie , aby ponownie nawiązać połączenie z usługą Azure Resource Manager na urządzeniu Azure Stack Edge Pro.

  1. Uruchom następujące polecenie:

    $templateFile = "Path to CreateImage.json"
    $templateParameterFile = "Path to CreateImage.parameters.json"
    $RGName = "<Name of your resource group>"
    New-AzResourceGroupDeployment `
        -ResourceGroupName $RGName `
        -TemplateFile $templateFile `
        -TemplateParameterFile $templateParameterFile `
        -Name "<Name for your deployment>"
    

    To polecenie służy do wdrażania zasobu obrazu.

  2. Aby wykonać zapytanie dotyczące zasobu, uruchom następujące polecenie:

    Get-AzImage -ResourceGroupName <Resource Group Name> -name <Image Name>
    

    Oto przykładowe dane wyjściowe:

    PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\CreateImage\CreateImage.json"
    PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\CreateImage\CreateImage.parameters.json"
    PS C:\WINDOWS\system32> $RGName = "myaserg1"
    PS C:\WINDOWS\system32> New-AzResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "deployment1"
    
    DeploymentName          : deployment1
    ResourceGroupName       : myaserg1
    ProvisioningState       : Succeeded
    Timestamp               : 4/18/2022 9:24:26 PM
    Mode                    : Incremental
    TemplateLink            :
    Parameters              :
                          Name             Type                       Value
                          ===============  =========================  ==========
                          osType           String                     Linux
                          imageName        String                     myaselinuximg1
                          imageUri         String
                          https://myasepro2stor.blob.dm1176047910p.wdshcsso.com/myasepro2cont1/ubuntu13.vhd
    
    Outputs                 :
    DeploymentDebugLogLevel :
    
    PS C:\WINDOWS\system32>
    

Tworzenie maszyny wirtualnej

Edytowanie pliku parametrów w celu utworzenia maszyny wirtualnej

Aby utworzyć maszynę wirtualną, użyj pliku parametrów CreateVM.parameters.json. Przyjmuje następujące parametry.

"vmName": {
            "value": "<Name for your VM>"
        },
        "adminUsername": {
            "value": "<Username to log into the VM>"
        },
        "Password": {
            "value": "<Password to log into the VM>"
        },
        "imageName": {
            "value": "<Name for your image>"
        },
        "vmSize": {
            "value": "<A supported size for your VM>"
        },
        "vnetName": {
            "value": "<Name for the virtual network, use ASEVNET>"
        },
        "subnetName": {
            "value": "<Name for the subnet, use ASEVNETsubNet>"
        },
        "vnetRG": {
            "value": "<Resource group for Vnet, use ASERG>"
        },
        "nicName": {
            "value": "<Name for the network interface>"
        },
        "privateIPAddress": {
            "value": "<Private IP address, enter a static IP in the subnet created earlier or leave empty to assign DHCP>"
        },
        "IPConfigName": {
            "value": "<Name for the ipconfig associated with the network interface>"
        }

Przypisz odpowiednie parametry CreateVM.parameters.json dla urządzenia Azure Stack Edge Pro.

  1. Podaj unikatową nazwę, nazwę interfejsu sieciowego i nazwę ipconfig.

  2. Wprowadź nazwę użytkownika, hasło i obsługiwany rozmiar maszyny wirtualnej.

  3. Po włączeniu interfejsu sieciowego do obliczeń przełącznik wirtualny i sieć wirtualna zostały automatycznie utworzone w tym interfejsie sieciowym. Możesz wysłać zapytanie do istniejącej sieci wirtualnej, aby uzyskać nazwę sieci wirtualnej, nazwę podsieci i nazwę grupy zasobów sieci wirtualnej.

    Uruchom następujące polecenie:

    Get-AzVirtualNetwork
    

    Oto przykładowe dane wyjściowe:

    
    PS C:\WINDOWS\system32> Get-AzVirtualNetwork
    
    Name                   : ASEVNET
    ResourceGroupName      : ASERG
    Location               : dbelocal
    Id                     : /subscriptions/947b3cfd-7a1b-4a90-7cc5-e52caf221332/resourceGroups/ASERG/providers/Microsoft
                             .Network/virtualNetworks/ASEVNET
    Etag                   : W/"990b306d-18b6-41ea-a456-b275efe21105"
    ResourceGuid           : f8309d81-19e9-42fc-b4ed-d573f00e61ed
    ProvisioningState      : Succeeded
    Tags                   :
    AddressSpace           : {
                               "AddressPrefixes": [
                                 "10.57.48.0/21"
                               ]
                             }
    DhcpOptions            : null
    Subnets                : [
                               {
                                 "Name": "ASEVNETsubNet",
                                 "Etag": "W/\"990b306d-18b6-41ea-a456-b275efe21105\"",
                                 "Id": "/subscriptions/947b3cfd-7a1b-4a90-7cc5-e52caf221332/resourceGroups/ASERG/provider
                             s/Microsoft.Network/virtualNetworks/ASEVNET/subnets/ASEVNETsubNet",
                                 "AddressPrefix": "10.57.48.0/21",
                                 "IpConfigurations": [],
                                 "ResourceNavigationLinks": [],
                                 "ServiceEndpoints": [],
                                 "ProvisioningState": "Succeeded"
                               }
                             ]
    VirtualNetworkPeerings : []
    EnableDDoSProtection   : false
    EnableVmProtection     : false
    
    PS C:\WINDOWS\system32>
    

    Użyj asEVNET jako nazwy sieci wirtualnej, ASEVNETsubNet jako nazwy podsieci i ASERG jako nazwy grupy zasobów sieci wirtualnej.

  4. Teraz potrzebny będzie statyczny adres IP do przypisania do maszyny wirtualnej, która znajduje się w sieci podsieci zdefiniowanej powyżej. Zastąp ciąg PrivateIPAddress tym adresem w pliku parametrów. Aby maszyna wirtualna mogła uzyskać adres IP z lokalnego serwera DCHP, pozostaw wartość pustą privateIPAddress .

    "privateIPAddress": {
                "value": "5.5.153.200"
            },
    
  5. Zapisz plik parametrów.

    Oto przykładowy kod json używany w tym artykule.

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
          "vmName": {
              "value": "vm1"
          },
          "adminUsername": {
              "value": "Administrator"
          },
          "Password": {
              "value": "Password1"
          },
        "imageName": {
          "value": "myaselinuximg1"
        },
        "vmSize": {
          "value": "Standard_NC4as_T4_v3"
        },
        "vnetName": {
          "value": "vswitch1"
        },
        "subnetName": {
          "value": "vswitch1subNet"
        },
        "vnetRG": {
          "value": "myaserg1"
        },
        "nicName": {
          "value": "nic1"
        },
        "privateIPAddress": {
          "value": ""
        },
        "IPConfigName": {
          "value": "ipconfig1"
        }
      }
    }       
    

Wdrażanie szablonu w celu utworzenia maszyny wirtualnej

Wdróż szablon CreateVM.jsontworzenia maszyny wirtualnej . Ten szablon tworzy interfejs sieciowy z istniejącej sieci wirtualnej i tworzy maszynę wirtualną na podstawie wdrożonego obrazu.

  1. Uruchom następujące polecenie:

    Command:
    
        $templateFile = "<Path to CreateVM.json>"
        $templateParameterFile = "<Path to CreateVM.parameters.json>"
        $RGName = "<Resource group name>"
    
        New-AzResourceGroupDeployment `
            -ResourceGroupName $RGName `
            -TemplateFile $templateFile `
            -TemplateParameterFile $templateParameterFile `
            -Name "<DeploymentName>"
    

    Tworzenie maszyny wirtualnej potrwa od 15 do 20 minut. Oto przykładowe dane wyjściowe pomyślnie utworzonej maszyny wirtualnej:

    PS C:\WINDOWS\system32> $templateFile = "C:\12-09-2020\CreateVM\CreateVM.json"
    PS C:\WINDOWS\system32> $templateParameterFile = "C:\12-09-2020\CreateVM\CreateVM.parameters.json"
    PS C:\WINDOWS\system32> $RGName = "myaserg1"
    PS C:\WINDOWS\system32> New-AzureRmResourceGroupDeployment -ResourceGroupName $RGName -TemplateFile $templateFile -TemplateParameterFile $templateParameterFile -Name "Deployment2"
    
    DeploymentName          : Deployment2
    ResourceGroupName       : myaserg1
    ProvisioningState       : Succeeded
    Timestamp               : 04/18/2022 1:51:28 PM
    Mode                    : Incremental
    TemplateLink            :
    Parameters              :
                          Name             Type                       Value
                          ===============  =========================  ==========
                          vmName           String                     vm1
                          adminUsername    String                     Administrator
                          password         String                     Password1
                          imageName        String                     myaselinuximg
                          vmSize           String                     Standard_NC4as_T4_v3
                          vnetName         String                     vswitch1
                          vnetRG           String                     myaserg1
                          subnetName       String                     vswitch1subNet
                          nicName          String                     nic1
                          ipConfigName     String                     ipconfig1
                          privateIPAddress  String
    
    Outputs                 :
    DeploymentDebugLogLevel :
    
    PS C:\WINDOWS\system32
    

    Możesz również uruchomić polecenie asynchronicznie za pomocą –AsJob parametru New-AzResourceGroupDeployment . Oto przykładowe dane wyjściowe, gdy polecenie cmdlet działa w tle. Następnie możesz wykonać zapytanie dotyczące stanu zadania utworzonego Get-Job przy użyciu polecenia cmdlet .

    PS C:\WINDOWS\system32> New-AzResourceGroupDeployment `
     >>     -ResourceGroupName $RGName `
     >>     -TemplateFile $templateFile `
     >>     -TemplateParameterFile $templateParameterFile `
     >>     -Name "Deployment4" `
     >>     -AsJob
    
     Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
     --     ----            -------------   -----         -----------     --------             -------
     4      Long Running... AzureLongRun... Running       True            localhost            New-AzureRmResourceGro...
    
     PS C:\WINDOWS\system32> Get-Job -Id 4
    
     Id     Name            PSJobTypeName   State         HasMoreData     Location             Command
     --     ----            -------------   -----         -----------     --------             -------
    
  2. Sprawdź, czy maszyna wirtualna została pomyślnie aprowizowana. Uruchom następujące polecenie:

    Get-AzVm

Łączenie z maszyną wirtualną

W zależności od tego, czy utworzono maszynę wirtualną z systemem Windows, czy Linux, kroki nawiązywania połączenia mogą być różne.

Nawiązywanie połączenia z maszyną wirtualną z systemem Windows

Wykonaj następujące kroki, aby nawiązać połączenie z maszyną wirtualną z systemem Windows.

Nawiąż połączenie z maszyną wirtualną z systemem Windows przy użyciu protokołu RDP (Remote Desktop Protocol) za pośrednictwem adresu IP przekazanego podczas tworzenia maszyny wirtualnej.

  1. Na kliencie otwórz protokół RDP.

  2. Przejdź do pozycji Start, a następnie wprowadź mstsc.

  3. W okienku Podłączanie pulpitu zdalnego wprowadź adres IP maszyny wirtualnej i poświadczenia dostępu użyte w pliku parametrów szablonu maszyny wirtualnej. Następnie wybierz pozycję Połącz.

    Zrzut ekranu przedstawiający okienko Podłączanie pulpitu zdalnego do nawiązywania połączenia za pośrednictwem protokołu RDP z maszyną wirtualną z systemem Windows.

    Uwaga

    Może być konieczne zatwierdzenie połączenia z niezaufaną maszyną.

Teraz logujesz się do maszyny wirtualnej uruchomionej na urządzeniu.

Nawiązywanie połączenia z maszyną wirtualną z systemem Linux

Wykonaj następujące kroki, aby nawiązać połączenie z maszyną wirtualną z systemem Linux.

Nawiąż połączenie z maszyną wirtualną przy użyciu prywatnego adresu IP, który został przekazany podczas tworzenia maszyny wirtualnej.

  1. Otwórz sesję SSH, aby nawiązać połączenie z adresem IP.

    ssh -l <username> <ip address>
    
  2. Po wyświetleniu monitu podaj hasło użyte podczas tworzenia maszyny wirtualnej.

    Jeśli musisz podać klucz SSH, użyj tego polecenia.

    ssh -i c:/users/Administrator/.ssh/id_rsa Administrator@5.5.41.236

    Oto przykładowe dane wyjściowe podczas nawiązywania połączenia z maszyną wirtualną:

    PS C:\WINDOWS\system32> ssh -l myazuser "10.126.76.60"
    The authenticity of host '10.126.76.60 (10.126.76.60)' can't be established.
    ECDSA key fingerprint is SHA256:V649Zbo58zAYMKreeP7M6w7Na0Yf9QPg4SM7JZVV0E4.
    Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    Warning: Permanently added '10.126.76.60' (ECDSA) to the list of known hosts.
    myazuser@10.126.76.60's password:
    Welcome to Ubuntu 18.04.2 LTS (GNU/Linux 4.18.0-1013-azure x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
     System information disabled due to load higher than 1.0
    
      Get cloud support with Ubuntu Advantage Cloud Guest:
        http://www.ubuntu.com/business/services/cloud
    
    284 packages can be updated.
    192 updates are security updates. 
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    
    To run a command as administrator (user "root"), use "sudo <command>".
    See "man sudo_root" for details.
    
    myazuser@myazvmfriendlyname:~$ client_loop: send disconnect: Connection reset
    PS C:\WINDOWS\system32>
    

Następne kroki

Polecenia cmdlet usługi Azure Resource Manager