Używanie platformy Docker do uruchamiania programu PowerShell dla Azure Stack Hub

W tym artykule możesz użyć platformy Docker do utworzenia kontenera, w którym będzie uruchamiana wersja programu PowerShell wymagana do pracy z różnymi interfejsami. Instrukcje dotyczące korzystania z modułów AzureRM i najnowszych modułów Az można znaleźć. Usługa AzureRM wymaga Windows opartego na systemie. Az używa kontenera opartego na systemie Linux.

Wymagania wstępne platformy Docker

Zainstaluj platformę Docker

  1. Zainstaluj aplikację Docker.

  2. W programie wiersza polecenia, takim jak PowerShell lub Bash, wprowadź:

    docker --version
    

Konfigurowanie jednostki usługi do korzystania z programu PowerShell

Aby uzyskać dostęp do zasobów w usłudze Azure Stack Hub za pomocą programu PowerShell, potrzebujesz jednostki usługi w dzierżawie usługi Azure Active Directory (Azure AD). Uprawnienia można delegować za pomocą kontroli dostępu opartej na rolach (RBAC, role-based access control) użytkownika. Może być konieczne zażądanie jednostki usługi od operatora chmury.

  1. Aby skonfigurować jednostkę usługi, wykonaj instrukcje z tematu Zapewnianie aplikacjom dostępu do Azure Stack Hub przez tworzenie jednostki usługi.

  2. Zanotuj identyfikator aplikacji, klucz tajny, identyfikator dzierżawy i identyfikator obiektu do późniejszego użycia.

Uruchamianie programu PowerShell na platformy Docker

W tych instrukcjach zostanie uruchomiony obraz kontenera oparty na systemie Linux, który zawiera program PowerShell i moduły wymagane do Azure Stack Hub.

  1. Musisz uruchomić usługę Docker przy użyciu kontenera systemu Linux. Po uruchomieniu platformy Docker przejdź do kontenerów systemu Linux.

  2. Uruchom platformę Docker z komputera, który jest przyłączony do tej samej domeny co Azure Stack Hub. Jeśli używasz pakietu Azure Stack Development Kit (ASDK), musisz zainstalować sieć VPN na maszynie zdalnej.

Instalowanie Azure Stack Hub Az w kontenerze systemu Linux

  1. W wierszu polecenia uruchom następujące polecenie platformy Docker, aby uruchomić program PowerShell w kontenerze systemu Ubuntu:

    docker run -it mcr.microsoft.com/azurestack/powershell
    

    Możesz uruchomić system Ubuntu, Debian lub Centos. Następujące pliki platformy Docker można znaleźć w repozytorium GitHub azurestack-powershell. Najnowsze zmiany GitHub w plikach platformy Docker można znaleźć w repozytorium plików platformy Docker. Każdy system operacyjny jest otagowany. Zastąp tag ( sekcję po dwukropku ) tagiem odpowiedniego systemu operacyjnego.

    Linux Obraz platformy Docker
    Ubuntu docker run -it mcr.microsoft.com/azurestack/powershell:ubuntu-18.04
    Debian docker run -it mcr.microsoft.com/azurestack/powershell:debian-9
    Centos docker run -it mcr.microsoft.com/azurestack/powershell:centos-7
  2. Powłoka jest gotowa do użycia z poleceniami cmdlet. Przetestuj łączność powłoki, logując się, a następnie uruchamiając program Test-AzureStack.ps1.

    Najpierw utwórz poświadczenia jednostki usługi. Potrzebny będzie klucz tajny iidentyfikator aplikacji. Identyfikator obiektu będzie również potrzebny podczas uruchamiania obiektu , aby sprawdzić kontener. Może być konieczne zażądanie jednostki usługi od operatora chmury.

    Wpisz następujące polecenia cmdlet, aby utworzyć obiekt reguły usługi:

    $passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force
    $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
    
  3. Połączenie do środowiska, uruchamiając następujący skrypt z następującymi wartościami z Azure Stack Hub wystąpienia.

    Wartość Opis
    Nazwa środowiska. Nazwa środowiska Azure Stack Hub użytkownika.
    Resource Manager punkt końcowy Adres URL Resource Manager. Skontaktuj się z operatorem chmury, jeśli go nie znasz. Będzie on wyglądał mniej więcej tak: https://management.region.domain.com.
    Identyfikator dzierżawy katalogu Identyfikator katalogu Azure Stack Hub dzierżawy.
    Poświadczenie Obiekt zawierający jednostkę usługi. W tym przypadku jest to .$pscredential
    ./Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
    

    Program PowerShell zwraca obiekt konta.

  4. Przetestuj środowisko, uruchamiając Test-AzureStack.ps1 skrypt w kontenerze. Określ identyfikator obiektu jednostki usługi. Jeśli nie powiązysz identyfikatora obiektu, skrypt będzie nadal działać, ale po prostu przetestuje moduły dzierżawy (użytkownika) i nie będzie działać w przypadku modułów, które wymagają uprawnień administratora.

    ./Test-AzureStack.ps1 <Object ID>
    

Następne kroki