Включение расширений виртуальной машины Azure с помощью Azure PowerShell
В этой статье показано, как развертывать, обновлять и удалять расширения виртуальных машин Azure, поддерживаемые серверами с поддержкой Azure Arc, на гибридном компьютере Linux или Windows с помощью Azure PowerShell.
Примечание.
Серверы с поддержкой Azure Arc не поддерживают развертывание расширений виртуальных машин и управление ими на виртуальных машинах Azure. Сведения для виртуальных машин Azure см. в статье Обзор расширения виртуальных машин.
Необходимые компоненты
- Компьютер с Azure PowerShell. Инструкции см. в статье Установка и настройка Azure PowerShell.
Прежде чем использовать Azure PowerShell для управления расширениями виртуальных машин на гибридном сервере, управляемом серверами с поддержкой Azure Arc, необходимо установить 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, используйте New-AzConnectedMachineExtension с параметрами -Name
, , -ResourceGroupName
, -MachineName
-Location
, и -Settings
-Publisher
ExtensionType
.
В следующем примере включено расширение виртуальной машины Log Analytics на сервере Linux с поддержкой 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"
Чтобы включить расширение виртуальной машины Log Analytics на сервере Windows с поддержкой Azure Arc, измените значение -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
В следующем примере включено расширение Защиты от вредоносных программ Майкрософт на сервере 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 обычно используют \"
последовательность для escape-кавычек в других блоках кода, вы хотите избежать этого форматирования в файле 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
, -MachineName
-ResourceGroupName
и -Settings
параметрами.
Ознакомьтесь со справочной статьей для командлета, чтобы понять различные методы, чтобы предоставить изменения, которые нужно изменить для расширения.
Расширение обновления
При выпуске новой версии поддерживаемого расширения виртуальной машины его можно обновить до последнего выпуска. Чтобы обновить расширение виртуальной машины, используйте Update-AzConnectedExtension с параметрами и -ExtensionTarget
параметрами-MachineName
. -ResourceGroupName
-ExtensionTarget
Для параметра необходимо указать расширение и последнюю доступную версию. Чтобы определить последнюю версию расширения, перейдите на страницу расширений для выбранного сервера с поддержкой Arc в портал Azure или запустите Get-AzVMExtensionImage. Вы можете указать несколько расширений в одном запросе на обновление, указав разделенный запятыми список расширений, определенный издателем и типом (разделенным периодом) и целевой версией для каждого расширения.
Чтобы обновить расширение агента Log Analytics для Windows с более новой версией, выполните следующую команду:
Update-AzConnectedExtension -MachineName "myMachineName" -ResourceGroupName "myResourceGroup" -ExtensionTarget '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'
Версию установленных расширений виртуальных машин можно просмотреть в любое время, выполнив команду Get-AzConnectedMachineExtension. TypeHandlerVersion
Значение свойства представляет версию расширения.
Удаление расширений
Чтобы удалить установленное расширение виртуальной машины на сервере с поддержкой Azure Arc, используйте Remove-AzConnectedMachineExtension с параметрами -Name
-MachineName
и -ResourceGroupName
параметрами.
Например, следующая команда удаляет расширение Log Analytics для виртуальной машины Linux:
Remove-AzConnectedMachineExtension -MachineName myMachineName -ResourceGroupName myResourceGroup -Name OmsAgentforLinux
Следующие шаги
Вы можете развертывать, удалять расширения виртуальной машины и управлять ими с помощью Azure CLI, портала Azure или шаблона ARM.
Сведения об устранении неполадок см. в статье Устранение неполадок для расширений виртуальной машины.