Sdílet prostřednictvím


Použití Dockeru ke spuštění PowerShellu pro Azure Stack Hub

V tomto článku můžete pomocí Dockeru vytvořit kontejner, na kterém se má spustit verze PowerShellu, která se vyžaduje pro práci s různými rozhraními. Pokyny pro použití modulů AzureRM a nejnovějších modulů Az najdete. AzureRM vyžaduje kontejner založený na Windows. Az používá kontejner založený na Linuxu.

Předpoklady dockeru

Instalace Dockeru

  1. Nainstalujte Docker.

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

    docker --version
    

Nastavení instančního objektu pro použití PowerShellu

Pokud chcete pro přístup k prostředkům ve službě Azure Stack Hub použít PowerShell, potřebujete instanční objekt ve vašem tenantovi Microsoft Entra. Delegujete oprávnění pomocí řízení přístupu na základě role uživatele (RBAC). Možná budete muset požádat instanční objekt od operátora cloudu.

  1. Pokud chcete nastavit instanční objekt, postupujte podle pokynů v tématu Udělení přístupu k prostředkům služby Azure Stack Hub vytvořením instančních objektů.

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

Spuštění PowerShellu v Dockeru

V těchto pokynech spustíte image kontejneru založenou na Linuxu, která obsahuje PowerShell a požadované moduly pro Azure Stack Hub.

  1. Potřebujete spustit Docker pomocí kontejneru Linuxu. Při spuštění Dockeru přepněte na kontejnery Linuxu.

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

Instalace modulu Az služby Azure Stack Hub v kontejneru Linuxu

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

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

    Můžete spustit Ubuntu nebo Debian. Následující soubory Dockeru najdete v úložišti GitHubu azurestack-powershell. Nejnovější změny souborů Dockeru najdete v úložišti GitHub. Každý operační systém je označený. Nahraďte značku, oddíl za dvojtečku značkou požadovaného operačního systému.

    Linux Obrázek dockeru
    Ubuntu docker run -it mcr.microsoft.com/azurestack/powershell:ubuntu-18.04
    Debian docker run -it mcr.microsoft.com/azurestack/powershell:debian-9
  2. Prostředí je připravené pro vaše rutiny. Otestujte připojení prostředí přihlášením a spuštěním Test-AzureStack.ps1.

    Nejprve vytvořte přihlašovací údaje instančního objektu. Budete potřebovat tajný klíč a ID aplikace. Při spuštění kontejneru budete také potřebovat ID objektu Test-AzureStack.ps1 . Možná budete muset požádat o instanční objekt od operátora cloudu.

    Zadejte následující rutiny pro vytvoření objektu instance:

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

    Hodnota Popis
    Název prostředí. Název prostředí služby Azure Stack Hub.
    Koncový bod Resource Manageru Adresa URL Resource Manageru. Pokud ho neznáte, obraťte se na operátora cloudu. Bude vypadat přibližně takto: https://management.region.domain.com.
    ID tenanta adresáře ID vašeho adresáře tenanta služby Azure Stack Hub.
    Reference Objekt obsahující instanční objekt. V tomto případě $pscredential.
    ./Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
    

    PowerShell vrátí objekt účtu.

  4. Otestujte prostředí spuštěním Test-AzureStack.ps1 skriptu v kontejneru. Zadejte ID instančního objektu. Pokud id objektu nenaznačíte, skript se stále spustí, ale pouze otestuje moduly tenanta (uživatele) a selže u modulů, které vyžadují oprávnění správce.

    ./Test-AzureStack.ps1 <Object ID>
    

Další kroky