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
    

Skonfiguruj jednostkę usługi do 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 poproszenie o jednostkę 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, tajny klucz, identyfikator dzierżawy oraz 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, sekcję 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 komendę Test-AzureStack.ps1.

    Najpierw utwórz poświadczenia administratora usługi. Będziesz potrzebować tajnego klucza i identyfikatora aplikacji. Potrzebny będzie także identyfikator obiektu 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 zasad usługi:

    $passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force
    $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
    
  3. Połącz się ze swoim środowiskiem, uruchamiając poniższy skrypt używając następujących wartości z instancji 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żawcy katalogu Identyfikator katalogu dzierżawcy w Twojej usłudze Azure Stack Hub.
    Poświadczenie Obiekt zawierający główną 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 środowisko za pomocą skryptu Test-AzureStack.ps1, uruchamiając go w kontenerze. Określ identyfikator obiektu podstawowego elementu usługi. Jeśli nie wskażesz identyfikatora obiektu, skrypt będzie nadal działał, ale przetestuje tylko moduły użytkowników i nie powiedzie się w przypadku modułów wymagających uprawnień administratora.

    ./Test-AzureStack.ps1 <Object ID>
    

Następne kroki