共用方式為


使用 Azure CLI 啟用 Azure VM 擴充功能

本文說明如何部署、升級、更新和卸載已啟用 Azure Arc 的伺服器支援的虛擬機 (VM) 擴充功能。 它說明如何使用 Azure CLI 在 Linux 或 Windows 混合式電腦上執行這些工作。

注意

已啟用 Azure Arc 的伺服器不支援將 VM 擴充功能部署和管理至 Azure 虛擬機。 如需 Azure VM,請參閱 VM 擴充功能概觀 一文。

必要條件

安裝 Azure CLI 延伸模組

ConnectedMachine 命令不會作為 Azure CLI 的一部分提供。 在使用 Azure CLI 連線到 Azure 並管理已啟用 Azure Arc 的伺服器所管理的混合式伺服器上 VM 擴充功能之前,您必須載入 ConnectedMachine 擴充功能。

您可以從工作站執行這些管理作業。 您不需要在已啟用 Azure Arc 的伺服器上執行它們。

執行下列命令以安裝 Azure CLI ConnectedMachine 擴充功能:

az extension add --name connectedmachine

啟用擴充功能

若要在已啟用 Azure Arc 的伺服器上啟用 VM 擴充功能,請搭配 、、、、 settings和 參數使用az connectedmachine extension create--location--machine-name--extension-name--publisher--type

下列範例會在已啟用 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 的伺服器上啟用 Azure 金鑰保存庫 VM 擴充功能:

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 擴充功能需要組態設定,以便您可以在已啟用 Azure Arc 的伺服器上安裝它們(例如自定義腳本擴充功能)。 若要升級擴充功能的組態,請使用 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 擴充功能,請搭配 --machine-name--resource-group--extension-targets 參數使用az connectedmachine upgrade-extension

針對 --extension-targets 參數,您必須指定延伸模組和可用的最新版本。 若要判斷擴充功能可用的最新版本,請移至 Azure 入口網站 中所選 Azure Arc 已啟用伺服器的 [擴充功能] 頁面,或執行 az vm extension image list。 您可以在單一升級要求中指定多個延伸模組,方法是同時提供:

  • 以逗號分隔的延伸模組清單,由其發行者和類型定義(以句號分隔)
  • 每個擴充功能的目標版本

您可以執行 命令 az connectedmachine extension list,隨時檢閱已安裝的 VM 擴充功能版本。 typeHandlerVersion 屬性值代表延伸模組的版本。

移除延伸模組

若要從已啟用 Azure Arc 的伺服器中移除已安裝的 VM 擴充功能,請搭配、 和 參數使用az connectedmachine extension delete--extension-name--resource-group --machine-name