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


Миграция с существующих гибридных рабочих ролей на основе агента на гибридные рабочие роли на основе расширений

Внимание

На 31 августа 2024 г. больше не поддерживается служба Microsoft Azure - гибридные рабочие роли для Runbook на основе агента (Windows и Linux). Следуйте рекомендациям в этой статье о том, как перейти с существующих гибридных рабочих процессов пользователя на основе агента на гибридные рабочие процессы на основе расширений.

В этой статье описываются преимущества гибридной рабочей роли Runbook на основе расширений и способы перехода от существующих рабочих ролей Runbook на основе агента к гибридным рабочим ролям на основе расширений.

Существует две платформы установки гибридных Runbook Worker, поддерживаемые службой Azure Automation.

Процесс выполнения модулей Runbook на гибридных рабочих ролях Runbook остается одинаковым для обоих.

Преимущества гибридных рабочих ролей пользователя Runbook на основе расширений по сравнению с рабочими ролями на основе агента

Цель подхода на основе расширений заключается в упрощении установки и управления гибридным рабочим, а также в упрощении работы с версией на основе агента. Ниже приведены некоторые ключевые преимущества:

  • Бесшовная интеграция — подход на основе агента для подключения гибридного работника Runbook зависит от агента Log Analytics, что является многоэтапным, трудоемким и подверженным ошибкам процессом. Подход на основе расширений обеспечивает большую безопасность и больше не зависит от агента Log Analytics.

  • Простота управления – обеспечивает нативную интеграцию с удостоверением Azure Resource Manager (ARM) для Гибридного Исполнителя Runbook и предлагает гибкость управления в масштабе с помощью политик и шаблонов.

  • Аутентификация на основе Microsoft Entra ID — использует управляемые удостоверения, назначаемые системой виртуальной машины, предоставляемые Microsoft Entra ID. Это централизует управление удостоверениями и учетными данными ресурсов.

  • Унифицированный интерфейс . Он предлагает идентичный интерфейс для управления компьютерами с поддержкой Azure и вне Azure Arc.

  • Несколько каналов онбординга. Вы можете подключить и управлять работниками, основанными на расширениях, с помощью портала Azure, командлетов PowerShell, Bicep, шаблонов ARM, REST API и Azure CLI.

  • Автоматическое обновление по умолчанию — оно предлагает автоматическое обновление минорных версий по умолчанию, что значительно упрощает поддержание актуальности с последней версией. Рекомендуется включить автоматическое обновление, чтобы воспользоваться преимуществами любых обновлений безопасности или компонентов без ручной нагрузки. Вы также можете отказаться от автоматического обновления в любое время. Обновления основных версий в настоящее время не поддерживаются и должны управляться вручную.

Примечание.

Гибридный рабочий процесс Runbook на основе расширений поддерживает только тип гибридного рабочего процесса Runbook для пользователя и не включает системный гибридный рабочий процесс Runbook, необходимый для функции управления обновлениями.

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

Минимальные требования к компьютеру

  • два ядра;
  • 4 ГБ ОЗУ;
  • На компьютерах, отличных от Azure, должен быть установлен агент подключенного компьютера Azure. Чтобы установить AzureConnectedMachineAgent, см. статью "Подключение гибридных компьютеров к Azure" из портала Azure для серверов с поддержкой Arc или см. статью "Управление виртуальными машинами VMware с поддержкой Arc", чтобы включить управление гостевыми ОС для Arc-серверов VMware vSphere.
  • Управляемое удостоверение, назначаемое системой, должно быть включено на виртуальной машине Azure, сервере с поддержкой Arc или виртуальной машине VMware vSphere с поддержкой Arc. Если управляемое удостоверение, назначаемое системой, не включено, оно будет включено в процессе установки через портал Azure.

Поддерживаемые операционные системы

Windows (x64) Linux (x64)
● Windows Server 2022 (включая серверную ядро)
● Windows Server 2019 (включая серверную ядро)
• Windows Server 2016, версия 1709 и 1803 (за исключением основных серверных компонентов)
● Windows Server 2012, 2012 R2 (за исключением основных серверных компонентов)
● Windows 10 Корпоративная (включая несколько сеансов) и Pro
● Windows 11 Корпоративная (включая несколько сеансов) и Pro
● Debian GNU/Linux 8, 9, 10 и 11
• Ubuntu 18.04 LTS, 20.04 LTS и 22.04 LTS
● SUSE Linux Enterprise Server 15.2, 15.3, 15.4, 15.5 и 15.6
● Red Hat Enterprise Linux Server 7, 8 и 9
● Rocky Linux 9
● Oracle Linux 7, 8 и 9
Расширение Hybrid Worker будет следовать срокам поддержки поставщика ОС.

Прочие требования

Windows (x64) Linux (x64)
Windows PowerShell 5.1 (загрузка WMF 5.1). PowerShell Core не поддерживается. Не требуется включать усиление защиты Linux. 
.NET Framework 4.6.2 или более поздней версии. 

Требования к пакету для Linux

Требуемый пакет Описание Минимальная версия
Glibc Библиотека C GNU 2.5-12
OpenSSL Библиотеки OpenSSL 1.0 (поддерживается TLS 1.1 и TLS 1.2)
Curl Веб-клиент cURL 7.15.5
Python-ctypes Библиотека внешних функций для Python Требуется Python 2.x или Python 3.x
PAM Подключаемые модули аутентификации
Дополнительный пакет Описание Минимальная версия
PowerShell Core Для выполнения скриптов PowerShell необходимо установить PowerShell Core. Инструкции см. в разделе "Установка PowerShell Core в Linux" 6.0.0

Примечание.

  • Гибридный рабочий процесс Runbook в настоящее время не поддерживается для виртуальных машин с массивами масштаба (VMSS).

  • Настоятельно рекомендуется никогда не настраивать расширение гибридной рабочей роли на контроллере домена виртуальной машины. Рекомендации по обеспечению безопасности не советуют такой настройки из-за высокого риска для контроллеров домена, связанного с потенциальными векторами атак через задания Azure Automation. Контроллеры домена должны быть высокозащищены и изолированы от неисправных служб, чтобы предотвратить несанкционированный доступ и обеспечить целостность среды служб домен Active Directory (ADDS).

Разрешения на учетные данные гибридных сотрудников

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

Тип ресурса Разрешения папки
Azure виртуальная машина C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (чтение и выполнение)
Сервер с поддержкой Arc C:\ProgramData\AzureConnectedMachineAgent\Tokens (read)
C:\Packages\Plugins\Microsoft.Azure.Automation.HybridWorker.HybridWorkerForWindows (чтение и выполнение).

Примечание.

  • Если в системе есть UAC/LUA, разрешения должны предоставляться напрямую, а не через членство в группах. Подробнее.
  • Для сервера с поддержкой Arc убедитесь, что требуется переназначить разрешения, так как они удаляются при обновлении агента ARC.
  • Гибридный рабочий процесс Runbook в настоящее время не поддерживается для виртуальных машин с массивами масштаба (VMSS).

Перенос существующего гибридного исполнителя, основанного на агенте, в гибридного исполнителя, основанного на расширении.

Чтобы использовать преимущества гибридных рабочих ролей на основе расширений, необходимо перенести все существующие гибридные рабочие роли на основе агента в рабочие роли на основе расширений. Гибридный рабочий компьютер может совместно существовать как на платформах на базе агента (версии 1), так и на платформах на базе расширений (версии 2). Установка, основанная на расширении, не влияет на процесс установки и управления рабочим процессом, основанным на агенте.

Чтобы установить расширение для гибридного рабочего на существующем агенте гибридного рабочего, убедитесь, что предварительные требования выполнены перед выполнением следующих шагов.

  1. В разделе "Автоматизация процессов" выберите группы гибридных рабочих ролей, а затем выберите существующую гибридную рабочую группу, чтобы перейти на страницу "Гибридная рабочая группа ".

  2. В группе гибридных рабочих выберите Гибридные рабочие> и нажмите + Добавить, чтобы перейти на страницу "Добавить компьютеры в качестве гибридных рабочих".

  3. Установите флажок рядом с уже существующим гибридным сотрудником на основе агента (V1). Если вы не видите в списке вашу гибридную рабочую роль на основе агента, убедитесь, что на компьютере установлен агент Azure Arc для подключенных компьютеров. Чтобы установить AzureConnectedMachineAgent, ознакомьтесь с документом "Подключение гибридных машин к Azure из портала Azure" для серверов с поддержкой Arc, или изучите "Управление виртуальными машинами VMware в Azure Arc", чтобы включить управление гостевыми системами для виртуальных машин vSphere с поддержкой Arc.

    Снимок экрана: добавление машин в качестве гибридного рабочего.

  4. Нажмите кнопку "Добавить ", чтобы добавить компьютер в группу.

    В столбце "Платформа" показан тот же гибридный рабочий, что и в виде агента на основе (V1), и в виде расширения на основе (V2). После того как вы освоите работу с гибридными исполнителями на основе расширения, вы можете удалить исполнителей на основе агента.

    Снимок экрана: поле платформы с агентом или гибридным рабочим на основе расширения.

Для масштабируемой миграции нескольких гибридных рабочих ролей на основе агента можно также использовать другие каналы , такие как Bicep, шаблоны ARM, командлеты PowerShell, REST API и Azure CLI.

Управление гибридным агентом с помощью шаблонов Bicep и ARM, REST API, Azure CLI и PowerShell

Шаблон Bicep можно использовать для создания новой группы гибридных рабочих ролей, создания виртуальной машины Windows Azure и добавления ее в существующую гибридную рабочую группу. Дополнительные сведения о Bicep см. в этой статье.

Выполните указанные ниже действия в качестве примера:

  1. Создайте гибридную рабочую группу.
  2. Создайте виртуальную машину Azure или сервер с поддержкой Arc. Кроме того, можно использовать существующий сервер виртуальной машины Azure или сервера с поддержкой Arc.
  3. Подключите виртуальную машину Azure или сервер с поддержкой Arc к созданной выше гибридной рабочей группе.
  4. Создайте новый GUID и передайте его в качестве имени Гибридного работника.
  5. Включите назначаемое системой управляемое удостоверение на виртуальной машине.
  6. Установите расширение гибридного рабочего процесса на виртуальной машине.
  7. Чтобы убедиться, что расширение успешно установлено на виртуальной машине, в портале Azure перейдите на вкладку > виртуальной машины и проверьте состояние расширения Hybrid Worker, установленного на виртуальной машине.
param automationAccount string
param automationAccountLocation string
param workerGroupName string

@description('Name of the virtual machine.')
param virtualMachineName string

@description('Username for the Virtual Machine.')
param adminUsername string

@description('Password for the Virtual Machine.')
@minLength(12)
@secure()
param adminPassword string

@description('Location for the VM.')
param vmLocation string = 'North Central US'

@description('Size of the virtual machine.')
param vmSize string = 'Standard_DS1_v2'

@description('The Windows version for the VM. This will pick a fully patched image of this given Windows version.')
@allowed([
  '2008-R2-SP1'
  '2012-Datacenter'
  '2012-R2-Datacenter'
  '2016-Nano-Server'
  '2016-Datacenter-with-Containers'
  '2016-Datacenter'
  '2019-Datacenter'
  '2019-Datacenter-Core'
  '2019-Datacenter-Core-smalldisk'
  '2019-Datacenter-Core-with-Containers'
  '2019-Datacenter-Core-with-Containers-smalldisk'
  '2019-Datacenter-smalldisk'
  '2019-Datacenter-with-Containers'
  '2019-Datacenter-with-Containers-smalldisk'
])
param osVersion string = '2019-Datacenter'

@description('DNS name for the public IP')
param dnsNameForPublicIP string

var nicName_var = 'myVMNict'
var addressPrefix = '10.0.0.0/16'
var subnetName = 'Subnet'
var subnetPrefix = '10.0.0.0/24'
var subnetRef = resourceId('Microsoft.Network/virtualNetworks/subnets', virtualNetworkName_var, subnetName)
var vmName_var = virtualMachineName
var virtualNetworkName_var = 'MyVNETt'
var publicIPAddressName_var = 'myPublicIPt'
var networkSecurityGroupName_var = 'default-NSGt'
var UniqueStringBasedOnTimeStamp = uniqueString(resourceGroup().id)

resource publicIPAddressName 'Microsoft.Network/publicIPAddresses@2020-08-01' = {
  name: publicIPAddressName_var
  location: vmLocation
  properties: {
    publicIPAllocationMethod: 'Dynamic'
    dnsSettings: {
      domainNameLabel: dnsNameForPublicIP
    }
  }
}

resource networkSecurityGroupName 'Microsoft.Network/networkSecurityGroups@2020-08-01' = {
  name: networkSecurityGroupName_var
  location: vmLocation
  properties: {
    securityRules: [
      {
        name: 'default-allow-3389'
        properties: {
          priority: 1000
          access: 'Allow'
          direction: 'Inbound'
          destinationPortRange: '3389'
          protocol: 'Tcp'
          sourceAddressPrefix: '*'
          sourcePortRange: '*'
          destinationAddressPrefix: '*'
        }
      }
    ]
  }
}

resource virtualNetworkName 'Microsoft.Network/virtualNetworks@2020-08-01' = {
  name: virtualNetworkName_var
  location: vmLocation
  properties: {
    addressSpace: {
      addressPrefixes: [
        addressPrefix
      ]
    }
    subnets: [
      {
        name: subnetName
        properties: {
          addressPrefix: subnetPrefix
          networkSecurityGroup: {
            id: networkSecurityGroupName.id
          }
        }
      }
    ]
  }
}

resource nicName 'Microsoft.Network/networkInterfaces@2020-08-01' = {
  name: nicName_var
  location: vmLocation
  properties: {
    ipConfigurations: [
      {
        name: 'ipconfig1'
        properties: {
          privateIPAllocationMethod: 'Dynamic'
          publicIPAddress: {
            id: publicIPAddressName.id
          }
          subnet: {
            id: subnetRef
          }
        }
      }
    ]
  }
  dependsOn: [

    virtualNetworkName
  ]
}

resource vmName 'Microsoft.Compute/virtualMachines@2020-12-01' = {
  name: vmName_var
  location: vmLocation
  identity: {
    type: 'SystemAssigned'
  }
  properties: {
    hardwareProfile: {
      vmSize: vmSize
    }
    osProfile: {
      computerName: vmName_var
      adminUsername: adminUsername
      adminPassword: adminPassword
    }
    storageProfile: {
      imageReference: {
        publisher: 'MicrosoftWindowsServer'
        offer: 'WindowsServer'
        sku: osVersion
        version: 'latest'
      }
      osDisk: {
        createOption: 'FromImage'
      }
    }
    networkProfile: {
      networkInterfaces: [
        {
          id: nicName.id
        }
      ]
    }
  }
}

resource automationAccount_resource 'Microsoft.Automation/automationAccounts@2021-06-22' = {
  name: automationAccount
  location: automationAccountLocation
  properties: {
    sku: {
      name: 'Basic'
    }
  }
}

resource automationAccount_workerGroupName 'Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups@2022-02-22' = {
  parent: automationAccount_resource
  name: workerGroupName
  dependsOn: [

    vmName
  ]
}

resource automationAccount_workerGroupName_testhw_UniqueStringBasedOnTimeStamp 'Microsoft.Automation/automationAccounts/hybridRunbookWorkerGroups/hybridRunbookWorkers@2021-06-22' = {
  parent: automationAccount_workerGroupName
  name: guid('testhw', UniqueStringBasedOnTimeStamp)
  properties: {
    vmResourceId: resourceId('Microsoft.Compute/virtualMachines', virtualMachineName)
  }
  dependsOn: [
    vmName
  ]
}

resource virtualMachineName_HybridWorkerExtension 'Microsoft.Compute/virtualMachines/extensions@2022-03-01' = {
  name: '${virtualMachineName}/HybridWorkerExtension'
  location: vmLocation
  properties: {
    publisher: 'Microsoft.Azure.Automation.HybridWorker'
    type: 'HybridWorkerForWindows'
    typeHandlerVersion: '1.1'
    autoUpgradeMinorVersion: true
    enableAutomaticUpgrade: true
    settings: {
      AutomationAccountURL: automationAccount_resource.properties.automationHybridServiceUrl
    }
  }
  dependsOn: [
    vmName
  ]
}

output output1 string = automationAccount_resource.properties.automationHybridServiceUrl

Удаление гибридной рабочей системы на основе агента

  1. Откройте сеанс PowerShell в режиме администратора и выполните следующую команду:

     Remove-Item -Path "HKLM:\SOFTWARE\Microsoft\HybridRunbookWorker\<AutomationAccountID>\<HybridWorkerGroupName>" -Force -Verbose
    
  2. В разделе Автоматизация процессов выберите Группы гибридных рабочих ролей, а затем соответствующую группу, чтобы перейти на страницу Группа гибридных рабочих ролей.

  3. На странице Гибридная группа работников выберите Гибридные работники.

  4. Установите флажок рядом с устройствами, которые нужно удалить из группы гибридных рабочих.

  5. Выберите "Удалить", чтобы удалить гибридную рабочую роль Windows на основе агента.

    Примечание.

    • После отключения Private Link в учетной записи службы автоматизации может потребоваться до 60 минут, чтобы удалить гибридный рабочий агент Runbook.
    • После удаления гибридного агента сертификат аутентификации гибридного агента на машине действителен в течение 45 минут.

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