Udostępnij za pośrednictwem


Uruchamianie programu PowerShell dla usługi Azure Stack Hub przy użyciu platformy Docker

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

Wymagania wstępne platformy Docker

Zainstaluj platformę Docker

  1. Zainstaluj platformę Docker.

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

    docker --version
    

Konfigurowanie jednostki usługi na potrzeby korzystania z programu PowerShell

Aby uzyskać dostęp do zasobów w usłudze Azure Stack Hub przy użyciu programu PowerShell, potrzebujesz jednostki usługi w dzierżawie firmy Microsoft Entra. Delegujesz uprawnienia za pomocą kontroli dostępu opartej na rolach użytkownika (RBAC). Może być konieczne zażądanie jednostki usługi od operatora chmury.

  1. Aby skonfigurować jednostkę usługi, postępuj zgodnie z instrukcjami w temacie Przyznawanie aplikacjom dostępu do zasobów usługi Azure Stack Hub przez utworzenie jednostek usługi.

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

Uruchamianie programu PowerShell na platformie Docker

W tych instrukcjach uruchomisz obraz kontenera oparty na systemie Linux zawierający program PowerShell i wymagane moduły dla usługi Azure Stack Hub.

  1. Należy uruchomić platformę Docker przy użyciu kontenera systemu Linux. Po uruchomieniu platformy Docker przełącz się do kontenerów systemu Linux.

  2. Uruchom platformę Docker z maszyny przyłączonej do tej samej domeny co usługa Azure Stack Hub. Jeśli używasz zestawu Azure Stack Development Kit (ASDK), zainstaluj sieć VPN na maszynie zdalnej.

Instalowanie modułu Az usługi Azure Stack Hub 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 lub Debian. Następujące pliki platformy Docker można znaleźć w repozytorium GitHub azurestack-powershell. Zapoznaj się z repozytorium GitHub, aby uzyskać najnowsze zmiany w plikach platformy Docker. Każdy system operacyjny jest oznakowany. Zastąp tag sekcja po dwukropku tagiem żądanego systemu operacyjnego.

    Linux Obraz Dockera
    Ubuntu docker run -it mcr.microsoft.com/azurestack/powershell:ubuntu-18.04
    Debian docker run -it mcr.microsoft.com/azurestack/powershell:debian-9
  2. Powłoka jest gotowa do obsługi poleceń cmdlet. Przetestuj łączność powłoki, logując się, a następnie uruchamiając polecenie Test-AzureStack.ps1.

    Najpierw utwórz poświadczenia jednostki usługi. Będziesz potrzebować wpisu tajnego i identyfikatora aplikacji. Identyfikator obiektu będzie również potrzebny podczas uruchamiania Test-AzureStack.ps1 polecenia , aby sprawdzić kontener. Może być konieczne zażądanie jednostki usługi od operatora chmury.

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

    $passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force
    $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
    
  3. Połącz się ze środowiskiem, uruchamiając następujący skrypt z następujących wartości z wystąpienia usługi Azure Stack Hub.

    Wartość Opis
    Nazwa środowiska. Nazwa środowiska usługi Azure Stack Hub.
    Punkt końcowy usługi Resource Manager Adres URL usługi 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 dzierżawy usługi Azure Stack Hub.
    Referencje Obiekt zawierający jednostkę usługi. W tym przypadku $pscredential.
    ./Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
    

    Program PowerShell zwraca obiekt konta.

  4. Przetestuj Test-AzureStack.ps1 środowisko, uruchamiając skrypt w kontenerze. Określ identyfikator obiektu jednostki usługi. Jeśli nie wskażesz identyfikatora obiektu, skrypt będzie nadal uruchamiany, ale będzie tylko testować moduły dzierżawy (użytkownika) i zakończyć się niepowodzeniem w modułach, które wymagają uprawnień administratora.

    ./Test-AzureStack.ps1 <Object ID>
    

Następne kroki