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

Przestroga

Ten artykuł odwołuje się do systemu CentOS, dystrybucji systemu Linux, która zbliża się do stanu zakończenia życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz wskazówki dotyczące końca życia systemu CentOS.

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 program PowerShell lub powłoka 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 za pomocą programu PowerShell, potrzebujesz jednostki usługi w dzierżawie 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. Musisz 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), musisz zainstalować 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, Debian lub Centos. 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 dla żądanego 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 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. Podczas uruchamiania Test-AzureStack.ps1 kontenera będzie również potrzebny identyfikator obiektu. 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 Resource Manager Adres URL Resource Manager. Jeśli nie znasz tego, skontaktuj się z operatorem chmury. 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 po prostu przetestuje moduły dzierżawy (użytkownika) i zakończy się niepowodzeniem w modułach wymagających uprawnień administratora.

    ./Test-AzureStack.ps1 <Object ID>
    

Następne kroki