使用 Azure CLI 啟用 Azure VM 延伸模組
本文說明如何使用 Azure CLI,在 Linux 或 Windows 混合式機器上部署、升級、更新和解除安裝已啟用 Azure Arc 的伺服器所支援的 VM 延伸模組。
注意
已啟用 Azure Arc 的伺服器不支援在 Azure 虛擬機器上部署和管理 VM 延伸模組。 如需 Azure VM,請參閱下列 VM 延伸模組概觀一文。
必要條件
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
安裝 Azure CLI 延伸模組
ConnectedMachine 命令不會作為 Azure CLI 的一部分提供。 在使用 Azure CLI 連線到 Azure,並在已啟用 Azure Arc 的伺服器管理的混合式伺服器上管理 VM 延伸模組之前,您需要載入 ConnectedMachine 延伸模組。 您可以從工作站執行這些管理作業,您不需要在已啟用 Azure Arc 的伺服器上執行這些管理作業。
執行下列命令來取得:
az extension add --name connectedmachine
啟用延伸模組
若要在已啟用 Azure Arc 的伺服器上啟用 VM 延伸模組,請使用 az connectedmachine extension create 搭配 --machine-name
、--extension-name
、--location
、--type
、settings
和 --publisher
參數。
下列範例會在已啟用 Azure Arc 的伺服器上啟用 Log Analytics VM 延伸模組:
az connectedmachine extension create --machine-name "myMachineName" --name "OmsAgentForLinux or MicrosoftMonitoringAgent" --location "regionName" --settings '{\"workspaceId\":\"myWorkspaceId\"}' --protected-settings '{\"workspaceKey\":\"myWorkspaceKey\"}' --resource-group "myResourceGroup" --type-handler-version "1.13" --type "OmsAgentForLinux or MicrosoftMonitoringAgent" --publisher "Microsoft.EnterpriseCloud.Monitoring"
下列範例會在已啟用 Azure Arc 的伺服器上啟用自訂指令碼延伸模組:
az connectedmachine extension create --machine-name "myMachineName" --name "CustomScriptExtension" --location "regionName" --type "CustomScriptExtension" --publisher "Microsoft.Compute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -gt 10000 }\\\"\"}" --type-handler-version "1.10" --resource-group "myResourceGroup"
下列範例會在已啟用 Azure Arc 的伺服器上啟用自訂指令碼延伸模組:
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.KeyVault" --type "KeyVaultForLinux or KeyVaultForWindows" --name "KeyVaultForLinux or KeyVaultForWindows" --settings '{"secretsManagementSettings": { "pollingIntervalInS": "60", "observedCertificates": ["observedCert1"] }, "authenticationSettings": { "msiEndpoint": "http://localhost:40342/metadata/identity" }}'
下列範例會在已啟用 Azure Arc 的伺服器上啟用 Microsoft Antimalware 延伸模組:
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.Security" --type "IaaSAntimalware" --name "IaaSAntimalware" --settings '"{\"AntimalwareEnabled\": \"true\"}"'
下列範例會在已啟用 Azure Arc 的 Windows 伺服器上啟用 Datadog 延伸模組:
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Datadog.Agent" --type "DatadogWindowsAgent" --settings '{"site": "us3.datadoghq.com"}' --protected-settings '{"api_key": "YourDatadogAPIKey" }'
列出已安裝的延伸模組
若要在已啟用 Azure Arc 的伺服器上取得 VM 延伸模組的清單,請使用 az connectedmachine extension list 搭配 --machine-name
和 --resource-group
參數。
範例:
az connectedmachine extension list --machine-name "myMachineName" --resource-group "myResourceGroup"
Azure CLI 命令的輸出預設是採用 JSON (JavaScript 物件標記法) 格式。 舉例來說,若要將預設輸出變更為清單或資料表,請使用 az config set core.output=table。 您也可以將 --output
新增到任何命令,以輸出格式進行一次變更。
下列範例顯示來自 az connectedmachine extension -list
命令的局部 JSON 輸出:
[
{
"autoUpgradingMinorVersion": "false",
"forceUpdateTag": null,
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/SVR01/extensions/DependencyAgentWindows",
"location": "regionName",
"name": "DependencyAgentWindows",
"namePropertiesInstanceViewName": "DependencyAgentWindows",
更新延伸模組設定
某些 VM 延伸模組需要組態設定,才能將其安裝在已啟用 Arc 的伺服器上,例如自訂指令碼延伸模組和 Log Analytics 代理程式 VM 延伸模組。 若要升級延伸模組的設定,請使用 az connectedmachine extension update。
下列範例說明如何設定自訂指令碼延伸模組:
az connectedmachine extension update --name "CustomScriptExtension" --type "CustomScriptExtension" --publisher "Microsoft.HybridCompute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -lt 100 }\\\"\"}" --type-handler-version "1.10" --machine-name "myMachine" --resource-group "myResourceGroup"
升級延伸模組
發行支援的 VM 延伸模組新版本時,您可以將其升級至該最新版本。 若要升級 VM 延伸模組,請使用 az connectedmachine upgrade-extension 搭配 --machine-name
、--resource-group
和 --extension-targets
參數。
針對 --extension-targets
參數,您必須指定延伸模組和可用的最新版本。 若要判斷延伸模組可用的最新版本,請瀏覽 Azure 入口網站中所選已啟用 Arc 伺服器的 [延伸模組] 頁面,或執行 az vm extension image list。 您可以在單一升級要求中指定多個延伸模組,方法是提供以逗號分隔的延伸模組清單,由其發行者定義和類型 (以句點分隔),以及每個延伸模組的目標版本所定義。
若要升級適用於 Windows 且具有較新可用版本的 Log Analytics 代理程式延伸模組,請執行下列命令:
az connectedmachine upgrade-extension --machine-name "myMachineName" --resource-group "myResourceGroup" --extension-targets '{"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent":{"targetVersion":"1.0.18053.0"}}'
您可以執行 az connectedmachine extension list 命令,隨時檢閱已安裝的 VM 延伸模組版本。 typeHandlerVersion
屬性值代表延伸模組的版本。
移除延伸模組
若要在已啟用 Azure Arc 的伺服器上移除已安裝的 VM 延伸模組,請使用 az connectedmachine extension delete 搭配 --extension-name
、--machine-name
和 --resource-group
參數。
例如,若要移除適用於 Linux 的 Log Analytics VM 延伸模組,請執行下列命令:
az connectedmachine extension delete --machine-name "myMachineName" --name "OmsAgentForLinux" --resource-group "myResourceGroup"
下一步
您可以使用 Azure PowerShell,從 Azure 入口網站或 Azure Resource Manager 範本來部署、管理和移除 VM 延伸模組。
疑難排解資訊可在針對 VM 延伸模組進行疑難排解指南中找到。
如需命令的詳細資訊,請檢閱 Azure CLI VM 延伸模組概觀一文。