Docker gebruiken om PowerShell voor Azure Stack Hub uit te voeren
Waarschuwing
Dit artikel verwijst naar CentOS, een Linux-distributie die de EOL-status (End Of Life) nadert. Overweeg uw gebruik en plan dienovereenkomstig. Zie de richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.
In dit artikel kunt u Docker gebruiken om een container te maken waarop de versie van PowerShell moet worden uitgevoerd die is vereist voor het werken met de verschillende interfaces. U vindt instructies voor het gebruik van zowel AzureRM-modules als de meest recente Az-modules. Voor AzureRM is een Windows-container vereist. Az maakt gebruik van een Op Linux gebaseerde container.
Docker-vereisten
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 Microsoft Entra-tenant nodig. U delegeert machtigingen met op rollen gebaseerd toegangsbeheer (RBAC) van gebruikers. 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 voert u een op Linux gebaseerde containerinstallatiekopie uit die de PowerShell en de vereiste modules voor Azure Stack Hub bevat.
U moet Docker uitvoeren met behulp van een Linux-container. Wanneer u Docker uitvoert, schakelt u over naar Linux-containers.
Voer Docker uit vanaf een computer die is gekoppeld aan hetzelfde domein als Azure Stack Hub. Als u de Azure Stack Development Kit (ASDK) gebruikt, moet u het VPN installeren op uw externe computer.
Azure Stack Hub Az-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 de GitHub-opslagplaats, azurestack-powershell. Raadpleeg de GitHub-opslagplaats voor de meest recente wijzigingen in de Docker-bestanden. Elk besturingssysteem is gelabeld. 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 uw Shell-connectiviteit door u aan te melden en vervolgens uit te voeren
Test-AzureStack.ps1
.Maak eerst uw referenties voor de service-principal. U hebt het geheim en de toepassings-id nodig. U hebt ook de object-id nodig bij het uitvoeren van de
Test-AzureStack.ps1
om uw container te controleren. Mogelijk moet u een service-principal aanvragen bij uw cloudoperator.Typ de volgende cmdlets om een service-principal-object te maken:
$passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
Maak verbinding met 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 dit niet weet. Deze ziet er ongeveer als volgt uit: https://management.region.domain.com
.Maptenant-id 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
Test-AzureStack.ps1
script in de container uit te voeren. Geef de object-id van de service-principal op. Als u de object-id niet opgeeft, wordt het script nog steeds uitgevoerd, maar worden alleen tenantmodules (gebruikersmodules) 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 maken van Azure Resource Manager-sjablonen voor cloudconsistentie.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor