使用 Docker 執行適用於 Azure Stack Hub 的 PowerShell
在本文中,您可以使用 Docker 來建立容器,以執行使用各種介面所需的 PowerShell 版本。 您可以找到使用 AzureRM 模組和最新 Az 模組的指示。 AzureRM 需要以 Windows 為基礎的容器。 Az 使用以Linux為基礎的容器。
Docker 先決條件
安裝 Docker
安裝 Docker。
在命令行程式中,例如 PowerShell 或 Bash,輸入:
docker --version
設定使用 PowerShell 的服務主體
若要使用 PowerShell 存取 Azure Stack Hub 中的資源,您需要Microsoft Entra 租使用者中的服務主體。 您可以使用使用者角色型存取控制 (RBAC) 委派許可權。 您可能需要向雲端操作員要求服務主體。
若要設定服務主體,請遵循建立服務主體,讓應用程式存取 Azure Stack Hub 資源中的指示。
請記下應用程式標識碼、秘密、租使用者標識碼和物件識別符,以供稍後使用。
在 Docker 中執行 PowerShell
在這些指示中,您將執行以 Linux 為基礎的容器映射,其中包含 PowerShell 和 Azure Stack Hub 的必要模組。
您必須使用 Linux 容器來執行 Docker。 當您執行 Docker 時,請切換至 Linux 容器。
從已加入 Azure Stack Hub 相同網域的電腦執行 Docker。 如果您使用 Azure Stack 開發工具套件 (ASDK),請在遠端電腦上安裝 VPN。
在 Linux 容器上安裝 Azure Stack Hub Az 模組
從命令行執行下列 Docker 命令,以在 Ubuntu 容器中執行 PowerShell:
docker run -it mcr.microsoft.com/azurestack/powershell
您可以執行 Ubuntu 或 Debian。 您可以在 GitHub 存放庫 azurestack-powershell 中找到下列 Docker 檔案。 如需 Docker 檔案的最新變更,請參閱 GitHub 存放庫。 每個OS都會標記。 將標記取代為所需OS的標籤取代冒號後面的區段。
Linux Docker 影像 Ubuntu docker run -it mcr.microsoft.com/azurestack/powershell:ubuntu-18.04
Debian docker run -it mcr.microsoft.com/azurestack/powershell:debian-9
殼層已準備好用於您的 Cmdlet。 登入並執行
Test-AzureStack.ps1
,以測試殼層連線能力。首先,建立您的服務主體認證。 您將需要 秘密 和 應用程式識別碼。 執行 時
Test-AzureStack.ps1
,您也需要物件識別碼來檢查容器。 您可能需要向雲端操作員要求服務主體。輸入下列 Cmdlet 以建立服務主體物件:
$passwd = ConvertTo-SecureString <Secret> -AsPlainText -Force $pscredential = New-Object System.Management.Automation.PSCredential('<ApplicationID>', $passwd)
使用 Azure Stack Hub 實例中的下列值執行下列腳本,以連線到您的環境。
值 Description 環境的名稱。 Azure Stack Hub 環境的名稱。 Resource Manager 端點 Resource Manager 的 URL。 如果您不知道雲端操作員,請連絡您的雲端操作員。 其看來很像 https://management.region.domain.com
。目錄租用戶標識碼 Azure Stack Hub 租使用者目錄的標識碼。 認證 物件,包含您的服務主體。 在此情況 $pscredential
。./Login-Environment.ps1 -Name <String> -ResourceManagerEndpoint <resource manager endpoint> -DirectoryTenantId <String> -Credential $pscredential
PowerShell 會傳回您的帳戶物件。
在容器中執行腳本來
Test-AzureStack.ps1
測試您的環境。 指定服務主體 對象識別碼。 如果您未指出物件標識符,腳本仍會執行,但只會測試租使用者(使用者)模組,並在需要系統管理員許可權的模組上失敗。./Test-AzureStack.ps1 <Object ID>
下一步
- 閱讀 Azure Stack Hub 中的 Azure Stack Hub PowerShell 概觀。
- 閱讀 Azure Stack Hub 中 PowerShell 的 API 配置檔。
- 安裝 Azure Stack Hub PowerShell。
- 瞭解如何建立 適用於雲端一致性的 Azure Resource Manager 範本 。