Azure VM-extensies inschakelen met behulp van Azure PowerShell
In dit artikel wordt uitgelegd hoe u extensies voor virtuele Azure-machines (VM's) implementeert, bijwerkt en verwijdert die worden ondersteund door servers met Azure Arc. U ziet hoe u deze taken uitvoert 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 overzichtsartikel over vm-extensies voor Azure-VM's.
Vereisten
Een computer met Azure PowerShell. Zie Azure PowerShell installeren en configureren voor instructies.
De module
Az.ConnectedMachine
. Voordat u Azure PowerShell gebruikt om VM-extensies te beheren op uw hybride server die wordt beheerd door servers met Azure Arc, moet u deze module installeren.U kunt deze beheerbewerkingen uitvoeren 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.
Een extensie inschakelen
Als u een VM-extensie wilt inschakelen op uw Server met Azure Arc, gebruikt New-AzConnectedMachineExtension
u deze met de -Name
parameters , , -ResourceGroupName
, -MachineName
-Location
, -Publisher
-ExtensionType
en -Settings
.
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
Toevoegen \
aan "
het settings.json bestand 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
Als u een lijst met de VM-extensies op uw server met Azure Arc wilt ophalen, gebruikt Get-AzConnectedMachineExtension
u deze met de -MachineName
en -ResourceGroupName
parameters.
Hier volgt een voorbeeld:
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
Een extensieconfiguratie bijwerken
Als u een geïnstalleerde extensie opnieuw wilt configureren, kunt u de cmdlet gebruiken met de Update-AzConnectedMachineExtension
-Name
, -MachineName
en -ResourceGroupName
-Settings
parameters.
Raadpleeg het naslagartikel voor de cmdlet om inzicht te hebben in de methoden voor het opgegeven aantal wijzigingen in de extensie.
Upgrade-extensies
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 Update-AzConnectedExtension
u deze met de -MachineName
-ResourceGroupName
en parameters-ExtensionTarget
.
Voor de -ExtensionTarget
parameter moet u de extensie en de meest recente versie opgeven die beschikbaar is. Als u wilt bepalen welke nieuwste versie beschikbaar is voor een extensie, gaat u naar de pagina Extensies voor de geselecteerde Azure Arc-server in Azure Portal of voert u deze uit Get-AzVMExtensionImage
. U kunt meerdere extensies opgeven in één upgradeaanvraag door beide:
- Een door komma's gescheiden lijst met extensies, gedefinieerd door de uitgever en het type (gescheiden door een punt)
- De doelversie voor elke extensie
U kunt de versie van geïnstalleerde VM-extensies op elk gewenst moment controleren 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 Remove-AzConnectedMachineExtension
u deze met de -Name
-MachineName
en parameters.-ResourceGroupName
Gerelateerde inhoud
- U kunt VM-extensies implementeren, beheren en verwijderen met behulp van de Azure CLI, Azure Portal of Azure Resource Manager-sjablonen.
- U vindt informatie over probleemoplossing in de handleiding voor het oplossen van problemen met VM-extensies.