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
Nainstalujte Docker.
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.
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ů.
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.
Potřebujete spustit Docker pomocí kontejneru Linuxu. Při spuštění Dockeru přepněte na kontejnery Linuxu.
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), nainstalujte síť VPN na vzdálený počítač.
Instalace modulu Az služby Azure Stack Hub v kontejneru Linuxu
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
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)
Připojte se ke svému 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.
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
- Přečtěte si přehled PowerShellu služby Azure Stack Hub ve službě Azure Stack Hub.
- Přečtěte si o profilech rozhraní API pro PowerShell ve službě Azure Stack Hub.
- Nainstalujte Azure Stack Hub PowerShell.
- Přečtěte si o vytváření šablon Azure Resource Manageru pro konzistenci cloudu.