使用 Azure PowerShell 啟用 Azure VM 延伸模組
本文顯示如何使用 Azure PowerShell,在 Linux 或 Windows 混合式機器上部署、更新和解除安裝已啟用 Azure Arc 的伺服器所支援的 Azure VM 延伸模組。
注意
已啟用 Azure Arc 的伺服器不支援在 Azure 虛擬機器上部署和管理 VM 延伸模組。 如需 Azure VM,請參閱下列 VM 延伸模組概觀一文。
必要條件
- 具備 Azure PowerShell 的電腦。 如需指示,請參閱 安裝並設定 Azure PowerShell。
使用 Azure PowerShell 來管理已啟用 Azure Arc 的伺服器所管理混合式伺服器上的 VM 延伸模組之前,您需要安裝 Az.ConnectedMachine
模組。 您可以從工作站執行這些管理作業,您不需要在已啟用 Azure Arc 的伺服器上執行這些管理作業。
在已啟用 Azure Arc 的伺服器上,執行下列命令:
Install-Module -Name Az.ConnectedMachine
.
安裝完成時,會傳回下列訊息:
The installed extension 'Az.ConnectedMachine' is experimental and not covered by customer support. Please use with discretion.
啟用延伸模組
若要在已啟用 Azure Arc 的伺服器上啟用 VM 延伸模組,請搭配使用 New-AzConnectedMachineExtension 與 -Name
、-ResourceGroupName
、-MachineName
、-Location
、-Publisher
、ExtensionType
和 -Settings
參數。
下列範例會在已啟用 Azure Arc 的 Linux 伺服器上啟用 Log Analytics VM 延伸模組:
$Setting = @{ "workspaceId" = "workspaceId" }
$protectedSetting = @{ "workspaceKey" = "workspaceKey" }
New-AzConnectedMachineExtension -Name OMSLinuxAgent -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.EnterpriseCloud.Monitoring" -Settings $Setting -ProtectedSetting $protectedSetting -ExtensionType "OmsAgentForLinux"
若要在已啟用 Azure Arc 的 Windows 伺服器上啟用 Log Analytics VM 延伸模組,請將上一個範例中的 -ExtensionType
參數值變更為 "MicrosoftMonitoringAgent"
。
下列範例會在已啟用 Azure Arc 的伺服器上啟用自訂指令碼延伸模組:
$Setting = @{ "commandToExecute" = "powershell.exe -c Get-Process" }
New-AzConnectedMachineExtension -Name "custom" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Compute" -Settings $Setting -ExtensionType CustomScriptExtension
下列範例會在已啟用 Azure Arc 的伺服器上啟用 Microsoft Antimalware 延伸模組:
$Setting = @{ "AntimalwareEnabled" = $true }
New-AzConnectedMachineExtension -Name "IaaSAntimalware" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Azure.Security" -Settings $Setting -ExtensionType "IaaSAntimalware"
Key Vault VM 延伸模組
警告
在 settings.json 中將 \
新增至 "
會導致 akvvm_service 失敗,並出現下列錯誤: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.
雖然 Powershell 使用者通常會使用 \"
序列來逸出其他程式碼區塊中的引號,但您會想要避免 settings.json 檔案中的格式設定。
下列範例會在已啟用 Azure Arc 的伺服器上啟用自訂指令碼延伸模組:
# Build settings
$settings = @{
secretsManagementSettings = @{
observedCertificates = @(
"observedCert1"
)
certificateStoreLocation = "myMachineName" # For Linux use "/var/lib/waagent/Microsoft.Azure.KeyVault.Store/"
certificateStore = "myCertificateStoreName"
pollingIntervalInS = "pollingInterval"
}
authenticationSettings = @{
msiEndpoint = "http://localhost:40342/metadata/identity"
}
}
$resourceGroup = "resourceGroupName"
$machineName = "myMachineName"
$location = "regionName"
# Start the deployment
New-AzConnectedMachineExtension -ResourceGroupName $resourceGroup -Location $location -MachineName $machineName -Name "KeyVaultForWindows or KeyVaultforLinux" -Publisher "Microsoft.Azure.KeyVault" -ExtensionType "KeyVaultforWindows or KeyVaultforLinux" -Setting $settings
Datadog VM 延伸模組
下列範例會在已啟用 Azure Arc 的伺服器上啟用 Datadog VM 延伸模組:
$resourceGroup = "resourceGroupName"
$machineName = "machineName"
$location = "machineRegion"
$osType = "Windows" # change to Linux if appropriate
$settings = @{
# change to your preferred Datadog site
site = "us3.datadoghq.com"
}
$protectedSettings = @{
# change to your Datadog API key
api_key = "APIKEY"
}
New-AzConnectedMachineExtension -ResourceGroupName $resourceGroup -Location $location -MachineName $machineName -Name "Datadog$($osType)Agent" -Publisher "Datadog.Agent" -ExtensionType "Datadog$($osType)Agent" -Setting $settings -ProtectedSetting $protectedSettings
列出已安裝的延伸模組
若要在已啟用 Azure Arc 的伺服器上取得 VM 延伸模組的清單,請搭配使用 Get-AzConnectedMachineExtension 與 -MachineName
和 -ResourceGroupName
參數。
範例:
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
更新延伸模組設定
若要重新設定已安裝的延伸模組,您可以搭配使用 Update-AzConnectedMachineExtension Cmdlet 與 -Name
、-MachineName
、-ResourceGroupName
和 -Settings
參數。
請參閱 Cmdlet 的參考文章,以瞭解不同的方法來提供您想要對延伸模組進行的變更。
升級延伸模組
發行支援的 VM 延伸模組新版本時,您可以將其升級至該最新版本。 若要升級 VM 延伸模組,請搭配使用 Update-AzConnectedExtension 與 -MachineName
、-ResourceGroupName
和 -ExtensionTarget
參數。
針對 -ExtensionTarget
參數,您必須指定延伸模組和可用的最新版本。 若要判斷延伸模組可用的最新版本,請瀏覽 Azure 入口網站中所選已啟用 Arc 之伺服器的 [延伸模組] 頁面,或執行 Get-AzVMExtensionImage。 您可以在單一升級要求中指定多個延伸模組,方法是提供以逗號分隔的延伸模組清單,由其發行者定義和類型 (以句點分隔),以及每個延伸模組的目標版本所定義。
若要升級適用於 Windows 且具有較新可用版本的 Log Analytics 代理程式延伸模組,請執行下列命令:
Update-AzConnectedExtension -MachineName "myMachineName" -ResourceGroupName "myResourceGroup" -ExtensionTarget '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'
您可以執行 Get-AzConnectedMachineExtension 命令,隨時檢閱已安裝的 VM 延伸模組版本。 TypeHandlerVersion
屬性值代表延伸模組的版本。
移除延伸模組
若要移除已啟用 Azure Arc 的伺服器上的已安裝 VM 延伸模組,請搭配使用 Remove-AzConnectedMachineExtension 與 -Name
、-MachineName
和 -ResourceGroupName
參數。
例如,若要移除適用於 Linux 的 Log Analytics VM 延伸模組,請執行下列命令:
Remove-AzConnectedMachineExtension -MachineName myMachineName -ResourceGroupName myResourceGroup -Name OmsAgentforLinux
下一步
您可以使用 Azure CLI,從 Azure 入口網站或 Azure Resource Manager 範本來部署、管理和移除 VM 延伸模組。
疑難排解資訊可在針對 VM 延伸模組進行疑難排解指南中找到。