Поделиться через


Включение расширений виртуальной машины 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-AzConnectedMachineExtension с параметрами -Name, , -ResourceGroupName, -MachineName-Location, и -Settings -PublisherExtensionType.

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

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