Aktivieren von Azure-VM-Erweiterungen mithilfe von Azure PowerShell
In diesem Artikel erfahren Sie, wie Sie Azure-Erweiterungen für virtuelle Computer, die von Azure-Arc-fähigen Servern unterstützt werden, auf einem Linux- oder Windows-Hybridcomputer unter Verwendung von Azure PowerShell bereitstellen, aktualisieren oder deinstallieren.
Hinweis
Das Bereitstellen und Verwalten von VM-Erweiterungen auf Azure-VMs wird auf Servern mit Azure Arc-Unterstützung nicht unterstützt. Informationen zu Azure-VMs finden Sie im Artikel Erweiterungen und Features für virtuelle Azure-Computer.
Voraussetzungen
- Einen Computer mit Azure PowerShell. Anweisungen hierzu finden Sie unter Installieren und Konfigurieren von Azure PowerShell.
Bevor Sie Azure PowerShell zum Verwalten von VM-Erweiterungen auf Ihrem Hybridserver verwenden können, der von Azure Arc-fähigen Servern verwaltet wird, müssen Sie das Modul Az.ConnectedMachine
installieren. Diese Verwaltungsvorgänge können von Ihrer Arbeitsstation aus ausgeführt werden. Sie müssen sie nicht auf dem Azure Arc-fähigen Server ausführen.
Führen Sie auf Ihrem Azure Arc-fähigen Server den folgenden Befehl aus:
Install-Module -Name Az.ConnectedMachine
.
Nach Abschluss der Installation wird die folgende Meldung zurückgegeben:
The installed extension 'Az.ConnectedMachine' is experimental and not covered by customer support. Please use with discretion.
Aktivieren der Erweiterung
Verwenden Sie New-AzConnectedMachineExtension mit den Parametern -Name
, -ResourceGroupName
, -MachineName
, -Location
, -Publisher
, -ExtensionType
und -Settings
, um eine VM-Erweiterung auf dem Azure Arc-fähigen Server zu aktivieren.
Im folgenden Beispiel wird die Erweiterung für benutzerdefinierte Skripts auf einem Server mit Azure Arc-Unterstützung aktiviert:
$Setting = @{ "commandToExecute" = "powershell.exe -c Get-Process" }
New-AzConnectedMachineExtension -Name "custom" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Compute" -Settings $Setting -ExtensionType CustomScriptExtension
Das folgende Beispiel aktiviert die Microsoft Antimalware-Erweiterung auf einem Azure Arc-fähigen Windows-Server:
$Setting = @{ "AntimalwareEnabled" = $true }
New-AzConnectedMachineExtension -Name "IaaSAntimalware" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Azure.Security" -Settings $Setting -ExtensionType "IaaSAntimalware"
Azure Key Vault-VM-Erweiterung
Warnung
Wenn Sie in der Datei „settings.json“ \
in "
hinzufügen, löst akvvm_service den folgenden Fehler aus: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.
.
Viele PowerShell-Benutzer verwenden zwar die Sequenz \"
zum Escapen von Anführungszeichen in anderen Codeblöcken, Sie sollten diese Formatierung in der Datei „settings.json“ jedoch vermeiden.
Das folgende Beispiel aktiviert die Key Vault-VM-Erweiterung auf einem Server mit Azure Arc-Unterstützung:
# 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-Erweiterung
Das folgende Beispiel aktiviert die Datadog-VM-Erweiterung auf einem Server mit Azure Arc-Unterstützung:
$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
Auflisten der Installierten Erweiterungen
Verwenden Sie Get-AzConnectedMachineExtension mit den Parametern -MachineName
und -ResourceGroupName
, um eine Liste der VM-Erweiterungen auf dem Azure Arc-fähigen Server abzurufen.
Beispiel:
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
Aktuelen der Erweiterungskonfiguration
Um eine installierte Erweiterung neu zu konfigurieren, können Sie das Cmdlet Aktualisieren-Az-verbundene Computer-Erweiterung (Update-AzConnectedMachineExtension) mit den Parametern -Name
, -MachineName
, -ResourceGroupName
und -Settings
verwenden.
Lesen Sie den Referenzartikel für das Cmdlet, um die verschiedenen Methoden zum Bereitstellen der Änderungen zu verstehen, die Sie an der Erweiterung vornehmen möchten.
Upgrade der Erweiterung
Wenn eine neue Version einer unterstützten VM-Erweiterung veröffentlicht wird, können Sie diese auf diese neueste Version upgraden. Verwenden Sie Update-AzConnectedExtension mit den Parametern -MachineName
, -ResourceGroupName
und -ExtensionTarget
, um eine VM-Erweiterung zu upgraden.
Für den -ExtensionTarget
-Parameter müssen Sie die Erweiterung und die neueste verfügbare Version angeben. Um die neueste verfügbare Version für eine Erweiterung zu ermitteln, besuchen Sie die Seite Erweiterungen für den ausgewählten Arc-fähigen Server im Azure-Portal oder führen Get-AzVMExtensionImage aus. Sie können mehrere Erweiterungen in einer einzelnen Upgradeanforderung angeben, indem Sie eine durch Trennzeichen getrennte Liste von Erweiterungen bereitstellen, die durch ihren Herausgeber und Typ (durch einen Punkt getrennt) und die Zielversion für jede Erweiterung definiert sind.
Sie können die Version der installierten VM-Erweiterungen jederzeit überprüfen, indem Sie den Befehl Get-AzConnectedMachineExtension ausführen. Der TypeHandlerVersion
-Eigenschaftswert stellt die Version der Erweiterung dar.
Entfernen von Erweiterungen
Verwenden Sie Remove-AzConnectedMachineExtension mit den Parametern -Name
, -MachineName
und -ResourceGroupName
, um eine installierte VM-Erweiterung auf dem Azure Arc-fähigen Server zu entfernen.
Nächste Schritte
Sie können VM-Erweiterungen über die Azure-Befehlszeilenschnittstelle, das Azure-Portal oder Azure Resource Manager-Vorlagen bereitstellen, verwalten und entfernen.
Informationen zur Problembehandlung finden Sie im Problembehandlungs-Handbuch für VM-Erweiterungen.