Включение расширений виртуальной машины Azure с помощью Azure PowerShell

В этой статье показано, как развертывать, обновлять и удалять расширения виртуальных машин Azure, поддерживаемые серверами с поддержкой Azure Arc, на гибридном компьютере Linux или Windows с помощью Azure PowerShell.

Примечание.

Серверы с поддержкой Azure Arc не поддерживают развертывание расширений виртуальных машин и управление ими на виртуальных машинах Azure. Сведения для виртуальных машин Azure см. в статье Обзор расширения виртуальных машин.

Необходимые компоненты

Прежде чем использовать 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-Az Подключение edMachineExtension с параметрами -Name, , -ResourceGroupName, -MachineName, -Location-PublisherиExtensionType-Settings.

В следующем примере включено расширение виртуальной машины 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 для виртуальной машины

Предупреждение

Клиенты PowerShell часто добавляют \ в " из settings.js, что приведет к сбою akvvm_service с ошибкой: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.

Следующий пример включает расширение виртуальной машины 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-Az Подключение edMachineExtension с -MachineName параметрами и -ResourceGroupName параметрами.

Пример:

Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName

Name    Location  PropertiesType        ProvisioningState
----    --------  --------------        -----------------
custom  westus2   CustomScriptExtension Succeeded

Обновление конфигурации расширения

Чтобы перенастроить установленное расширение, можно использовать командлет Update-Az Подключение edMachineExtension с параметрами -Name, а также -Settings параметрами . -MachineName-ResourceGroupName

Ознакомьтесь со справочной статьей для командлета, чтобы понять различные методы, чтобы предоставить изменения, которые нужно изменить для расширения.

Расширение обновления

При выпуске новой версии поддерживаемого расширения виртуальной машины его можно обновить до последнего выпуска. Чтобы обновить расширение виртуальной машины, используйте Update-Az Подключение edExtension с параметром -MachineName, -ResourceGroupNameа также -ExtensionTarget параметрами.

-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-Az Подключение edMachineExtension. TypeHandlerVersion Значение свойства представляет версию расширения.

Удаление расширений

Чтобы удалить установленное расширение виртуальной машины на сервере с поддержкой Azure Arc, используйте Remove-Az Подключение edMachineExtension с параметрами -Name-MachineName и -ResourceGroupName параметрами.

Например, следующая команда удаляет расширение Log Analytics для виртуальной машины Linux:

Remove-AzConnectedMachineExtension -MachineName myMachineName -ResourceGroupName myResourceGroup -Name OmsAgentforLinux

Следующие шаги