Azure VM-extensies inschakelen met Behulp van Azure PowerShell
In dit artikel leest u hoe u Azure VM-extensies, die worden ondersteund door servers met Azure Arc, implementeert, bijwerkt en verwijdert op een hybride Linux- of Windows-machine met behulp van Azure PowerShell.
Notitie
Servers met Azure Arc bieden geen ondersteuning voor het implementeren en beheren van VM-extensies op virtuele Azure-machines. Zie het volgende overzichtsartikel over VM-extensies voor Azure-VM's.
Vereisten
- Een computer met Azure PowerShell. Zie Azure PowerShell installeren en configureren voor instructies.
Voordat u Azure PowerShell gebruikt om VM-extensies te beheren op uw hybride server die wordt beheerd door servers met Azure Arc, moet u de Az.ConnectedMachine
module installeren. Deze beheerbewerkingen kunnen worden uitgevoerd vanaf uw werkstation. U hoeft ze niet uit te voeren op de server met Azure Arc.
Voer de volgende opdracht uit op uw Server met Azure Arc:
Install-Module -Name Az.ConnectedMachine
.
Wanneer de installatie is voltooid, wordt het volgende bericht geretourneerd:
The installed extension 'Az.ConnectedMachine' is experimental and not covered by customer support. Please use with discretion.
Extensie inschakelen
Als u een VM-extensie wilt inschakelen op uw server met Azure Arc, gebruikt u New-AzConnectedMachineExtension met de -Name
parameters , , -MachineName
-ResourceGroupName
, -Location
, -Publisher
-ExtensionType
en -Settings
.
In het volgende voorbeeld wordt de Log Analytics VM-extensie ingeschakeld op een Linux-server met Azure Arc:
$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"
Als u de Log Analytics VM-extensie wilt inschakelen op een Windows-server met Azure Arc, wijzigt u de waarde voor de -ExtensionType
parameter "MicrosoftMonitoringAgent"
in het vorige voorbeeld.
In het volgende voorbeeld wordt de aangepaste scriptextensie ingeschakeld op een server met 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
In het volgende voorbeeld wordt de Microsoft Antimalware-extensie ingeschakeld op een Windows-server met Azure Arc:
$Setting = @{ "AntimalwareEnabled" = $true }
New-AzConnectedMachineExtension -Name "IaaSAntimalware" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Azure.Security" -Settings $Setting -ExtensionType "IaaSAntimalware"
Key Vault VM-extensie
Waarschuwing
"
Als u aan de settings.json toevoegt\
, mislukt akvvm_service met de volgende fout:[CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.
Hoewel PowerShell-gebruikers vaak de \"
reeks gebruiken om aanhalingstekens in andere codeblokken te ontsnappen, moet u deze opmaak in het settings.json bestand vermijden.
In het volgende voorbeeld wordt de Key Vault VM-extensie ingeschakeld op een server met 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-extensie
In het volgende voorbeeld wordt de Datadog VM-extensie ingeschakeld op een server met Azure Arc:
$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
Geïnstalleerde lijstextensies
Gebruik Get-AzConnectedMachineExtension met de -MachineName
parameters om -ResourceGroupName
een lijst op te halen van de VM-extensies op uw Server met Azure Arc.
Voorbeeld:
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
Extensieconfiguratie bijwerken
Als u een geïnstalleerde extensie opnieuw wilt configureren, kunt u de cmdlet Update-AzConnectedMachineExtension gebruiken met de -Name
parameters , -MachineName
en-ResourceGroupName
-Settings
.
Raadpleeg het naslagartikel voor de cmdlet om inzicht te hebben in de verschillende methoden om de gewenste wijzigingen in de extensie op te geven.
Upgrade-extensie
Wanneer een nieuwe versie van een ondersteunde VM-extensie wordt uitgebracht, kunt u deze upgraden naar die nieuwste versie. Als u een VM-extensie wilt upgraden, gebruikt u Update-AzConnectedExtension met de -MachineName
-ResourceGroupName
en -ExtensionTarget
parameters.
Voor de -ExtensionTarget
parameter moet u de extensie en de meest recente versie opgeven die beschikbaar is. Ga naar de pagina Extensies voor de geselecteerde server met Arc in Azure Portal of voer Get-AzVMExtensionImage uit om de nieuwste versie te bepalen die beschikbaar is voor een extensie. U kunt meerdere extensies opgeven in één upgradeaanvraag door een door komma's gescheiden lijst met extensies op te geven, gedefinieerd door de uitgever en het type (gescheiden door een punt) en de doelversie voor elke extensie.
Voer de volgende opdracht uit om de Log Analytics-agentextensie voor Windows met een nieuwere versie te upgraden:
Update-AzConnectedExtension -MachineName "myMachineName" -ResourceGroupName "myResourceGroup" -ExtensionTarget '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'
U kunt de versie van geïnstalleerde VM-extensies op elk gewenst moment bekijken door de opdracht Get-AzConnectedMachineExtension uit te voeren. De TypeHandlerVersion
eigenschapswaarde vertegenwoordigt de versie van de extensie.
Extensies verwijderen
Als u een geïnstalleerde VM-extensie op uw Server met Azure Arc wilt verwijderen, gebruikt u Remove-AzConnectedMachineExtension met de -Name
-MachineName
en -ResourceGroupName
parameters.
Als u bijvoorbeeld de Log Analytics VM-extensie voor Linux wilt verwijderen, voert u de volgende opdracht uit:
Remove-AzConnectedMachineExtension -MachineName myMachineName -ResourceGroupName myResourceGroup -Name OmsAgentforLinux
Volgende stappen
U kunt VM-extensies implementeren, beheren en verwijderen met behulp van de Azure CLI, vanuit Azure Portal of Azure Resource Manager-sjablonen.
Informatie over probleemoplossing vindt u in de handleiding problemen met VM-extensies oplossen.