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


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

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

Предварительные условия

  • Компьютер с Azure PowerShell. Инструкции см. в статье Установка и настройка Azure PowerShell.

  • Модуль Az.ConnectedMachine. Прежде чем использовать Azure PowerShell для управления расширениями виртуальных машин на гибридном сервере, управляемом серверами с поддержкой Azure Arc, необходимо установить этот модуль.

    Эти операции управления можно выполнять с рабочей станции, а не на сервере с поддержкой Azure Arc.

    Выполните следующую команду, чтобы установить модуль Az.ConnectedMachine:

    Install-Module -Name Az.ConnectedMachine
    

Включить расширение

Чтобы включить расширение виртуальной машины на сервере с поддержкой Azure Arc, используйте New-AzConnectedMachineExtension с параметрами -Name, -ResourceGroupName, -MachineName, -Location, -Publisher, -ExtensionType и -Settings.

В этом примере включено расширение пользовательского скрипта на сервере с поддержкой 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 на сервере с поддержкой Azure Arc:

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

Добавление \ в " в файл settings.json приведет к сбою akvvm_service со следующей ошибкой: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.

Хотя пользователи PowerShell обычно используют последовательность \" для экранирования кавычек в других блоках кода, следует избегать этого форматирования в файле settings.json.

# 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 на сервере с поддержкой 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

Подсказка

Многие другие расширения поддерживаются на серверах с поддержкой Arc. Дополнительные сведения см. в разделе "Управление расширениями виртуальных машин с серверами с поддержкой Azure Arc".

Список установленных расширений

Чтобы получить список расширений виртуальных машин на сервере с поддержкой 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-AzConnectedMachineExtension.

Обновить расширения

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

-ExtensionTarget Для параметра необходимо указать расширение и последнюю доступную версию. Чтобы определить последнюю версию, доступную для расширения, перейдите на страницу расширений для выбранного сервера с поддержкой Azure Arc в портале Azure или выполните команду Get-AzVMExtensionImage. Можно указать несколько расширений в одном запросе на обновление, указав оба:

  • Разделенный запятыми список расширений, определенный издателем и типом (разделенным периодом)
  • Целевая версия для каждого расширения

Версию установленных расширений виртуальных машин можно просмотреть в любое время, выполнив команду Get-AzConnectedMachineExtension. TypeHandlerVersion Значение свойства представляет версию расширения.

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

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