Включение расширений виртуальной машины Azure с помощью Azure PowerShell
В этой статье объясняется, как развертывать, обновлять и удалять расширения виртуальной машины Azure, поддерживаемые серверами с поддержкой Azure Arc. В нем показано, как выполнять эти задачи на гибридном компьютере Linux или Windows с помощью Azure PowerShell.
Примечание.
Серверы с поддержкой Azure Arc не поддерживают развертывание расширений виртуальных машин и управление ими на виртуальных машинах Azure. Сведения о виртуальных машинах Azure см. в статье об расширении виртуальной машины.
Необходимые компоненты
Компьютер с Azure PowerShell. Инструкции см. в статье Установка и настройка Azure PowerShell.
Модуль
Az.ConnectedMachine
. Прежде чем использовать Azure PowerShell для управления расширениями виртуальных машин на гибридном сервере, управляемом серверами с поддержкой Azure Arc, необходимо установить этот модуль.Эти операции управления можно выполнять с рабочей станции. Их не нужно запускать на сервере с поддержкой Azure Arc.
Выполните следующую команду на сервере с поддержкой Azure Arc:
Install-Module -Name Az.ConnectedMachine
Включить расширение
Чтобы включить расширение виртуальной машины на сервере с поддержкой Azure Arc, используйте с параметрами -Name
, ,ExtensionType
-Publisher
-Location
-Settings
-MachineName
-ResourceGroupName
New-AzConnectedMachineExtension
Следующий пример включает расширение пользовательского скрипта на сервере с поддержкой 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
В следующем примере включено расширение Защиты от вредоносных программ Майкрософт на сервере Windows с поддержкой 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 для виртуальной машины
Предупреждение
"
Добавление \
в файл settings.json приведет akvvm_service
к сбою со следующей ошибкой:[CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.
Хотя пользователи PowerShell обычно используют \"
последовательность для экранирования кавычки в других блоках кода, следует избежать форматирования в файле settings.json.
Следующий пример включает расширение виртуальной машины Key Vault на сервере с поддержкой 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
Следующий пример включает расширение виртуальной машины Datadog на сервере с поддержкой 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
Список установленных расширений
Чтобы получить список расширений виртуальных машин на сервере с поддержкой Azure Arc, используйте Get-AzConnectedMachineExtension
их с -MachineName
параметрами и -ResourceGroupName
параметрами.
Приведем пример:
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
Обновление конфигурации расширения
Чтобы перенастроить установленное расширение, можно использовать Update-AzConnectedMachineExtension
командлет с параметрами -Name
, и -Settings
параметрами. -MachineName
-ResourceGroupName
Чтобы понять методы предоставления изменений, которые требуется расширение, см. в справочной статье для командлета.
Обновления расширений
При выпуске новой версии поддерживаемого расширения виртуальной машины его можно обновить до последнего выпуска. Чтобы обновить расширение виртуальной машины, используйте Update-AzConnectedExtension
параметры -ResourceGroupName
-MachineName
и -ExtensionTarget
параметры.
-ExtensionTarget
Для параметра необходимо указать расширение и последнюю доступную версию. Чтобы определить последнюю версию, доступную для расширения, перейдите на страницу расширений для выбранного сервера с поддержкой Azure Arc в портал Azure или запускеGet-AzVMExtensionImage
. Можно указать несколько расширений в одном запросе на обновление, указав оба:
- Разделенный запятыми список расширений, определенный издателем и типом (разделенным периодом)
- Целевая версия для каждого расширения
Версию установленных расширений виртуальных машин можно просмотреть в любое время, выполнив команду Get-AzConnectedMachineExtension
. TypeHandlerVersion
Значение свойства представляет версию расширения.
Удаление расширений
Чтобы удалить установленное расширение виртуальной машины на сервере с поддержкой Azure Arc, используйте Remove-AzConnectedMachineExtension
его с параметрами и -ResourceGroupName
параметрами-Name
-MachineName
.
Связанный контент
- Вы можете развертывать, управлять и удалять расширения виртуальных машин с помощью Azure CLI, портал Azure или шаблонов Azure Resource Manager.
- Сведения об устранении неполадок см. в руководстве по устранению неполадок с расширениями виртуальных машин.