適用於:Azure Stack Hub 整合系統
請依照本文步驟設定 Azure Command-Line 介面(CLI),以管理來自 Linux、Mac 及 Windows 用戶端平台的Azure Stack Hub資源。
準備使用 Azure CLI
虛擬機別名端 點會提供別名,例如「UbuntuLTS」或「Win2012Datacenter」。此別名在部署虛擬機時,作為單一參數參考映像發佈者、優惠、SKU 及版本。
以下章節將說明如何設定虛擬機別名端點。
設定虛擬機別名端點
你可以設置一個公開可存取的端點,來承載一個虛擬機別名檔案。 VM 別名檔案是一個 JSON 檔案,提供映像的通用名稱。 部署虛擬機時會用這個名稱作為 Azure CLI 參數。
如果你發佈自訂映像檔,請註明發佈時指定的發行商、優惠、SKU 及版本資訊。 如果是市集的圖片,你可以用
Get-AzureVMImagecmdlet 查看資訊。從 GitHub 下載範例檔案。
在 Azure Stack Hub 建立一個儲存帳號。 完成後,建立 Blob 容器。 將存取政策設為「公開」。
把 JSON 檔案上傳到新的容器。 完成後,你就可以查看 blob 的網址。 選擇 blob 名稱,然後從 blob 屬性中選擇 URL。
安裝或升級 CLI
登入您的開發工作站並安裝 CLI。 Azure Stack Hub 需要 2.0 版或更新版本的 Azure CLI。 最新版本的 API 設定檔需要使用最新版本的 CLI。 你可以依照《安裝 Azure CLI》文章中描述的步驟來安裝 CLI。
若要確認安裝是否成功,請開啟終端機或命令提示字元視窗,然後執行下列命令:
az --version
您應該會看到已安裝在電腦上的 Azure CLI 版本和其他相依連結庫。
Windows/Linux (Microsoft Entra ID)
這部分會引導你設定 CLI 的過程,如果你使用 Microsoft Entra ID 作為身份管理服務,並且在 Windows/Linux 機器上使用 CLI。
連線到 Azure Stack Hub
使用
az cloud register命令註冊您的 Azure Stack Hub 環境。註冊您的環境。 執行
az cloud register時,請使用下列參數:價值 Example Description 環境名稱 AzureStackUser 使用 AzureStackUser於用戶環境。 如果您是運算子,請指定AzureStackAdmin。Resource Manager 端點 https://management.local.azurestack.external整合系統中的 ResourceManagerUrl 是: https://management.<region>.<fqdn>/如果你對整合系統端點有疑問,請聯絡你的雲端營運商。儲存體端點 local.azurestack.external 若為整合式系統,請為您的系統使用端點。 Keyvault 後綴 .vault.local.azurestack.external 對於整合式系統,請使用您系統的端點。 VM 影像別名文件端點 https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json 檔的 URI,其中包含 VM 映像別名。 如需更多資訊,請參閱 設定虛擬機器別名端點。 az cloud register -n <environmentname> --endpoint-resource-manager "https://management.local.azurestack.external" --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>使用下列命令設定使用中的環境。
az cloud set -n <environmentname>更新您的環境設定,以使用 Azure Stack Hub 特定的 API 版本設定檔。 若要更新組態,請執行下列命令:
az cloud update --profile 2019-03-01-hybrid使用
az login命令登入您的 Azure Stack Hub 環境。 請以使用者或服務主體身份登入 Azure Stack Hub 環境。以 使用者身分登入:
您可以直接在
az login命令內指定使用者名稱和密碼,或使用瀏覽器進行驗證。 如果您的帳戶啟用了多重驗證,您必須選擇後者:az login -u <Microsoft Entra administrator or user account. For example: username@<aadtenant>.onmicrosoft.com> --tenant <Azure Active Directory Tenant name. For example: myazurestack.onmicrosoft.com>Note
如果您的使用者帳戶已啟用多重要素驗證,請使用
az login命令而不提供-u參數。 執行此命令可提供URL和您必須用來驗證的程式代碼。以 服務主體身分登入:
登入之前,請先透過 Azure 入口網站或 CLI 建立服務主體 ,併為其指派角色。 現在,使用下列命令登入:
az login --tenant <Azure Active Directory Tenant name. For example: myazurestack.onmicrosoft.com> --service-principal -u <Application Id of the Service Principal> -p <Key generated for the Service Principal>
測試連線能力
設定好所有專案后,請使用 CLI 在 Azure Stack Hub 內建立資源。 例如,您可以為應用程式建立資源群組,並新增 VM。 使用下列命令來建立名為 「MyResourceGroup」 的資源群組:
az group create -n MyResourceGroup -l local
如果已成功建立資源群組,上一個命令會輸出新建立資源的下列屬性:
Windows/Linux(AD FS)
這部分會引導你設定 CLI,如果你使用 Active Directory Federated Services(AD FS)作為身份管理服務,並且在 Windows/Linux 機器上使用 CLI。
連線到 Azure Stack Hub
使用
az cloud register命令註冊您的 Azure Stack Hub 環境。註冊您的環境。 執行
az cloud register時,請使用下列參數:價值 Example Description 環境名稱 AzureStackUser 使用 AzureStackUser於用戶環境。 如果您是運算子,請指定AzureStackAdmin。Resource Manager 端點 https://management.local.azurestack.external整合系統中的 ResourceManagerUrl 是: https://management.<region>.<fqdn>/如果你對整合系統端點有疑問,請聯絡你的雲端營運商。儲存體端點 local.azurestack.external 如果是整合式系統,請為您的系統使用一個端點。 Keyvault 後綴 .vault.local.azurestack.external 對於整合式系統,請使用您系統的端點。 VM 影像別名文件端點 https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/arm-compute/quickstart-templates/aliases.json 檔的 URI,其中包含 VM 映像別名。 如需更多資訊,請參閱 設定虛擬機別名端點。 az cloud register -n <environmentname> --endpoint-resource-manager "https://management.local.azurestack.external" --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases>使用下列命令設定使用中的環境。
az cloud set -n <environmentname>更新您的環境設定,以使用 Azure Stack Hub 特定的 API 版本設定檔。 若要更新組態,請執行下列命令:
az cloud update --profile 2019-03-01-hybrid使用
az login命令登入您的 Azure Stack Hub 環境。 你可以以使用者或服務主體身份登入 Azure Stack Hub 環境。以 使用者身分登入:
您可以直接在
az login命令內指定使用者名稱和密碼,或使用瀏覽器進行驗證。 如果您的帳戶啟用了多重驗證,您必須選擇後者:az cloud register -n <environmentname> --endpoint-resource-manager "https://management.local.azurestack.external" --suffix-storage-endpoint "local.azurestack.external" --suffix-keyvault-dns ".vault.local.azurestack.external" --endpoint-vm-image-alias-doc <URI of the document which contains VM image aliases> --profile "2019-03-01-hybrid"Note
如果您的使用者帳戶已啟用多重要素驗證,請使用
az login命令而不提供-u參數。 執行此命令可提供URL和您必須用來驗證的程式代碼。以 服務主體身分登入:
準備要用於服務主體登入的 .pem 檔案。
在建立主體的用戶端計算機上,使用位於
cert:\CurrentUser\My的私鑰,將服務主體憑證導出為 pfx。 憑證名稱與主體的名稱相同。將 pfx 轉換為 pem (使用 OpenSSL 公用程式)。
登入 CLI:
az login --service-principal \ -u <Client ID from the Service Principal details> \ -p <Certificate's fully qualified name, such as, C:\certs\spn.pem> --tenant <Tenant ID> \ --debug
測試連線能力
設定好所有專案后,請使用 CLI 在 Azure Stack Hub 內建立資源。 例如,您可以為應用程式建立資源群組,並新增 VM。 使用下列命令來建立名為 「MyResourceGroup」 的資源群組:
az group create -n MyResourceGroup -l local
如果已成功建立資源群組,上一個命令會輸出新建立資源的下列屬性:
已知問題
在 Azure Stack Hub 中使用 CLI 時發生已知問題:
- CLI 互動模式。 例如,這個
az interactive指令尚未在 Azure Stack Hub 中支援。 - 若要取得 Azure Stack Hub 中可用的 VM 映射列表,請使用
az vm image list --all命令,而不是az vm image list命令。--all指定 選項可確保回應只會傳回 Azure Stack Hub 環境中可用的映像。 - Azure 中可用的 VM 映像別名可能不適用於 Azure Stack Hub。 使用 VM 映射時,您必須使用整個 URN 參數(Canonical:UbuntuServer:14.04.3-LTS:1.0.0),而不是映像別名。 此 URN 必須符合從 命令衍生的
az vm images list映像規格。