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


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