Docker gebruiken om PowerShell uit te voeren voor Azure Stack Hub
In dit artikel kunt u Docker gebruiken om een container te maken waarop de versie van PowerShell moet worden uitgevoerd die vereist is voor het werken met de verschillende interfaces. U vindt instructies voor het gebruik van zowel AzureRM-modules als de nieuwste Az-modules. AzureRM vereist een Windows op basis van een container. Az maakt gebruik van een linux-container.
Vereisten voor Docker
Docker installeren
Installeer Docker.
Voer in een opdrachtregelprogramma, zoals PowerShell of Bash, het volgende in:
docker --version
Een service-principal instellen voor het gebruik van PowerShell
Als u PowerShell wilt gebruiken voor toegang tot resources in Azure Stack Hub, hebt u een service-principal in uw Azure Active Directory -tenant (Azure AD) nodig. U delegeert machtigingen met op gebruikersrol gebaseerd toegangsbeheer (RBAC). Mogelijk moet u de service-principal aanvragen bij uw cloudoperator.
Als u uw service-principal wilt instellen, volgt u de instructies in Toepassingen toegang geven tot Azure Stack Hub resources door service-principals te maken.
Noteer de toepassings-id, het geheim, uw tenant-id en object-id voor later gebruik.
PowerShell uitvoeren in Docker
In deze instructies gaat u een op Linux gebaseerde containerafbeelding uitvoeren die de PowerShell en de vereiste modules voor de Azure Stack Hub.
U moet Docker uitvoeren met behulp van een Linux-container. Wanneer u Docker gebruikt, schakelt u over naar Linux-containers.
Voer Docker uit vanaf een computer die is verbonden met hetzelfde domein als Azure Stack Hub. Als u de Azure Stack Development Kit (ASDK) gebruikt, moet u het VPN installeren op uw externe computer.
De Az Azure Stack Hub module installeren in een Linux-container
Voer vanaf de opdrachtregel de volgende Docker-opdracht uit om PowerShell uit te voeren in een Ubuntu-container:
docker run -it mcr.microsoft.com/azurestack/powershell
U kunt Ubuntu, Debian of Centos uitvoeren. U vindt de volgende Docker-bestanden in GitHub opslagplaats azurestack-powershell. Raadpleeg de opslagplaats GitHub de meest recente wijzigingen in de Docker-bestanden. Elk besturingssysteem is getagd. Vervang de tag , de sectie na de dubbele punt, door de tag voor het gewenste besturingssysteem.
Linux Docker-installatiekopie 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
De shell is gereed voor uw cmdlets. Test de shell-connectiviteit door u aan te melden en vervolgens uit te gaan
Test-AzureStack.ps1
.Maak eerst uw referenties voor de service-principal. U hebt het geheim en detoepassings-id nodig. U hebt ook de object-id nodig bij het uitvoeren van de om uw container te controleren. Mogelijk moet u een service-principal aanvragen bij uw cloudoperator.
Typ de volgende cmdlets om een service-principeobject te maken:
$passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
Verbinding maken aan uw omgeving door het volgende script uit te voeren met de volgende waarden uit uw Azure Stack Hub exemplaar.
Waarde Beschrijving De naam van de omgeving. De naam van uw Azure Stack Hub omgeving. Resource Manager eindpunt De URL voor de Resource Manager. Neem contact op met uw cloudoperator als u deze niet weet. Deze ziet er ongeveer als volgt uit: https://management.region.domain.com
.Tenant-id van directory De id van uw Azure Stack Hub tenantmap. Referentie Een object met uw service-principal. In dit geval $pscredential
../Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
PowerShell retourneert uw accountobject.
Test uw omgeving door het script in de
Test-AzureStack.ps1
container uit te voeren. Geef de object-id van de service-principal op. Als u de object-id niet aangeeft, wordt het script nog steeds uitgevoerd, maar worden alleen tenantmodules (gebruikers)-modules getest en mislukt het op modules waarvoor beheerdersbevoegdheden zijn vereist../Test-AzureStack.ps1 <Object ID>
Volgende stappen
- Lees een overzicht van Azure Stack Hub PowerShell in Azure Stack Hub.
- Meer informatie over API-profielen voor PowerShell in Azure Stack Hub.
- Installeer Azure Stack Hub PowerShell.
- Meer informatie over het Azure Resource Manager voor cloudconsistentie.