Použití Docker ke spuštění PowerShellu pro Azure Stack hub

V tomto článku můžete pomocí Docker vytvořit kontejner, na kterém běží verze PowerShellu, která je nutná pro práci s různými rozhraními. Pokyny k používání modulů AzureRM a nejnovějších modulů AZ modules najdete v tématu. AzureRM vyžaduje kontejner založený na Windows. AZ používá kontejner založený na systému Linux.

Požadavky Docker

Instalace Dockeru

  1. Nainstalujte Docker.

  2. V programu příkazového řádku, jako je například PowerShell nebo bash, zadejte:

    docker --version
    

Nastavení instančního objektu pro použití prostředí PowerShell

pokud chcete k přístupu k prostředkům v centru Azure Stack použít PowerShell, potřebujete instanční objekt v tenantovi služby Azure Active Directory (Azure AD). Oprávnění můžete delegovat pomocí řízení přístupu na základě role uživatele (RBAC). Možná budete muset požádat o instanční objekt od operátora cloudu.

  1. Pokud chcete nastavit instanční objekt, postupujte podle pokynů v tématu poskytnutí přístupu aplikací k prostředkům Azure Stack centra vytvořením instančních objektů.

  2. Poznamenejte si ID aplikace, tajný kód, ID tenanta a ID objektu pro pozdější použití.

Spustit PowerShell v Docker

V těchto pokynech spustíte image kontejneru se systémem Linux, která obsahuje PowerShell a požadované moduly pro Azure Stack hub.

  1. Je potřeba spustit Docker pomocí kontejneru Linux. Když spustíte Docker, přepněte na kontejnery Linux.

  2. Spusťte Docker z počítače, který je připojený ke stejné doméně jako centrum Azure Stack. Pokud používáte Azure Stack Development Kit (ASDK), musíte nainstalovat síť VPN na svém vzdáleném počítači.

Instalace centra Azure Stack AZ Module v kontejneru Linux

  1. Z příkazového řádku spusťte následující příkaz Docker, který spustí PowerShell v kontejneru Ubuntu:

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

    Můžete spustit Ubuntu, Debian nebo CentOS. v GitHubovém úložišti můžete najít následující soubory docker, azurestack-powershell. nejnovější změny v souborech docker najdete v úložišti GitHub. Jednotlivé operační systémy jsou označeny. Nahraďte tag, oddíl za dvojtečkou, značkou pro požadovaný operační systém.

    Linux Image Dockeru
    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. Prostředí je připravené na vaše rutiny. Otestujte připojení k prostředí tím, že se přihlásíte a pak spustíte Test-AzureStack.ps1 .

    Nejdřív vytvořte svoje přihlašovací údaje instančního objektu. Budete potřebovat tajný kód a ID aplikace. Také budete potřebovat ID objektu při spuštění služby ke kontrole kontejneru. Možná budete muset požádat o instanční objekt od operátora cloudu.

    Zadejte následující rutiny pro vytvoření objektu zásad služby:

    $passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force
    $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
    
  3. spuštěním následujícího skriptu s následujícími hodnotami z vaší instance centra Azure Stack Připojení do svého prostředí.

    Hodnota Popis
    Název prostředí. Název prostředí centra Azure Stack.
    Správce prostředků koncový bod Adresa URL pro Správce prostředků. Pokud ho neznáte, obraťte se na svého operátora cloudu. Bude vypadat přibližně takto: https://management.region.domain.com.
    ID tenanta adresáře ID adresáře tenanta centra Azure Stack.
    Přihlašovací údaj Objekt, který obsahuje objekt služby. V tomto případě $pscredential .
    ./Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
    

    PowerShell vrátí váš objekt účtu.

  4. Otestujte prostředí spuštěním Test-AzureStack.ps1 skriptu v kontejneru. Zadejte ID instančního objektuslužby. Pokud neurčíte ID objektu, skript bude stále spuštěn, ale bude pouze Testovat moduly klienta (uživatel) a selže v modulech, které vyžadují oprávnění správce.

    ./Test-AzureStack.ps1 <Object ID>
    

Další kroky