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 RTak dla jednostki SKU Mini RAzure Stack Edge 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 Azure Stack Edge Pro na wielu urządzeniach, można użyć pojedynczego dysku VHD przygotowanego za pomocą narzędzia Sysprep dla całej floty, tego samego szablonu do wdrożeń i po prostu wprowadzać drobne zmiany w parametrach tego szablonu dla każdej lokalizacji wdrożenia (te zmiany mogą być wprowadzane ręcznie, jak robimy to tutaj, lub programistycznie).

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 przesłania wirtualnego dysku twardego użytego do utworzenia obrazu maszyny wirtualnej.
      3. Dodaj identyfikator URI lokalnego konta pamięci masowej do pliku DNS lub hosts na urządzeniu klienckim uzyskującym dostęp do twojego urządzenia.
      4. Zainstaluj certyfikat magazynu blob na urządzeniu i na lokalnym kliencie uzyskującym dostęp do urządzenia. Opcjonalnie zainstaluj certyfikat magazynu obiektów Blob w Eksploratorze Storage.
      5. Utwórz i przekaż dysk VHD do utworzonego wcześniej konta przechowywania.
  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 Storage, jeśli używasz go do ładowania 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/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/myaserg1

PS C:\WINDOWS\system32> 

Utwórz konto magazynowe

Utwórz nowe konto magazynowe, korzystając z grupy zasobów utworzonej w poprzednim kroku. To konto jest lokalnym kontem magazynu, które będzie używane do przesyłania obrazu dysku wirtualnego dla VM.

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, jak to zrobić w temacie Dodawanie i 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 polecenie Get-AzStorageAccountKey. 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 Storage przy użyciu protokołu HTTP. Jeśli używasz protokołu https, musisz zainstalować odpowiednie certyfikaty w Eksplorator usługi Storage. W tym przypadku zainstaluj certyfikat punktu końcowego blob. Aby uzyskać więcej informacji, zobacz jak tworzyć i przekazywać certyfikaty w temacie Zarządzanie certyfikatami.

Tworzenie i przesyłanie VHD

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 do użycia na obiektach blob stron na lokalnym koncie magazynu, które utworzyłeś we wcześniejszych krokach. Możesz użyć narzędzia, takiego jak Eksplorator usługi Storage lub AzCopy, aby przekazać plik VHD do konta magazynu utworzonego we wcześniejszych krokach.

Użyj Eksploratora magazynu do przesyłania

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

    Ustaw cel na interfejsy API 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 magazynu obiektów blob dla punktu końcowego .cer na format .pem. 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 przynosisz własny certyfikat, użyj certyfikatu głównego z łańcucha podpisywania w formacie .pem.

  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 usługi magazynu i wybierz pozycję Połącz z usługą Magazynu Azure.

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

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

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

  6. W Połącz z nazwą i kluczem wprowadź nazwę wyświetlaną, nazwę konta magazynu, klucz konta Azure Storage. Wybierz Inna domena przechowywania, a potem podaj parametry połączenia <device name>.<DNS domain>. 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 Połącz.

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

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

    Przekazywanie pliku VHD 1

  10. Wybierz i wskaż dysk VHD, który chcesz przekazać w Wybranych plikach. Wybierz Typ obiektu blob jako stronicowy obiekt blob i wybierz Prześlij.

    Przekazywanie pliku VHD 2

  11. Po załadowaniu VHD do kontenera obiektów blob wybierz 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ę Hyper-V, odpowiadające wirtualnemu dyskowi twardemu, który zamierzasz przesłać. 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ń URI obrazu na URI obrazu, który przesłałeś we wcześniejszym kroku.

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

    Jeśli używasz HTTP z Eksploratorem magazynu, zmień identyfikator URI na 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/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/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/cccc2c2c-dd3d-ee4e-ff5f-aaaaaa6a6a6a/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 DHCP, 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 tworzenia maszyny wirtualnej CreateVM.json. 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 z parametrem –AsJob. Oto przykładowe dane wyjściowe, gdy polecenie cmdlet działa w tle. Następnie możesz wykonać zapytanie dotyczące stanu zadania, które zostało utworzone przy użyciu polecenia Get-Job 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 okna Podłączania pulpitu zdalnego do nawiązywania połączenia z maszyną wirtualną z systemem Windows za pomocą RDP.

    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

Cmdlety Azure Resource Manager