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


Настройка Приватный канал для экспериментов на основе агента (предварительная версия)

В этой статье описываются действия, необходимые для настройки Приватный канал Azure для эксперимента на основе агента Azure Chaos Studio (предварительная версия). Текущий пользовательский интерфейс основан на поддержке частных конечных точек, которая включена в рамках общедоступной предварительной версии функции частных конечных точек. Ожидается, что этот опыт будет развиваться с течением времени, так как эта функция улучшена до общего качества доступности .


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

Примечание.

Если целевой ресурс был создан с помощью портал Azure, расширение виртуальной машины агента хаоса автоматически устанавливается на виртуальной машине узла. Если целевой объект включен с помощью Azure CLI, следуйте документации по Chaos Studio, чтобы сначала установить расширение виртуальной машины на виртуальной машине. Пока не завершите настройку частной конечной точки, расширение виртуальной машины сообщает о неработоспособном состоянии. Это поведение является ожидаемым.


Ограничения

  • Для создания и использования Приватный канал только для экспериментов на основе агентов необходимо использовать интерфейс REST API 2023-10-27-preview. Нет поддержки Приватный канал для экспериментов на основе агентов в нашем ОБЩЕДОСТУПНОм REST API до H1 2024.
  • Для всего комплексного взаимодействия с этим потоком требуется использовать интерфейс командной строки. Текущий комплексный интерфейс не может быть выполнен из портал Azure.
  • Тип ресурса Chaos Studio Private Accesses (CSPA) имеет строгое сопоставление ресурсов Chaos Target:CSPA (абстракция для частной конечной точки). Мы разрешаем создавать только пять ресурсов CSPA для каждой подписки , чтобы поддерживать ожидаемый интерфейс для всех наших клиентов.

Создание ресурса Private Access в Chaos Studio

Чтобы использовать частные конечные точки для экспериментов хаоса на основе агента, необходимо создать новый тип ресурса с именем Chaos Studio Private Accesses. CSPA — это ресурс, для которого создаются частные конечные точки.

В настоящее время этот ресурс можно создать только из интерфейса командной строки. См. следующий пример кода для создания этого типа ресурса:

az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --method PUT --uri "https://centraluseuap.management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>?api-version=2023-10-27-preview" --body ' 

{ 

   "location": "<resourceLocation>", 

   "properties": { 

       "id": "<CSPAResourceName>", 

       "name": "<CSPAResourceName>", 

       "location": "<resourceLocation>", 

       "type": "Microsoft.Chaos/privateAccesses", 

       "resourceId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>" 

   } 

}'
имени Обязательно Type Описание
subscriptionID Истина Строка GUID, представляющий идентификатор подписки Azure.
resourceGroupName Истина Строка Строка, представляющая группу ресурсов Azure.
CSPAResourceName Истина Строка Строка, представляющая имя, которое вы хотите предоставить ресурсу Private Access Chaos Studio.
resourceLocation Истина Строка Расположение, в котором должен размещаться ресурс (должен быть регионом поддержки в Chaos Studio).

Создание виртуальной сети, подсети и частной конечной точки

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

Убедитесь, что вы подключите его к той же виртуальной сети виртуальной машины. Снимок экрана: примеры создания виртуальной сети, подсети и частной конечной точки. Необходимо задать тип ресурса Microsoft.Chaos/privateAccesses , как показано на снимке экрана.

Снимок экрана: вкладка

Снимок экрана: вкладка виртуальная сеть создания частной конечной точки.

Сопоставление виртуальной машины узла агента с ресурсом CSPA

Найдите целевой GetTarget объектResource ID, выполнив вызов:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}?api-version=2023-10-27-preview

Команда GET возвращает большой ответ. Обратите внимание на этот ответ. Мы используем этот ответ и изменяем его перед выполнением PUT Target команды для сопоставления двух ресурсов.


PUT Target Вызовите команду с помощью этого ответа. Перед выполнением команды необходимо добавить еще два поля в текст PUT команды.

Ниже показаны следующие дополнительные поля:

"privateAccessId": "subscriptions/<subID>/...
"allowPublicAccess": false

},

Ниже приведен пример блока для того, как PUT Target должна выглядеть команда, и поля, которые необходимо заполнить:

Примечание.

Скопируйте текст из предыдущей GET команды. Необходимо вручную добавить privateAccessID поля и allowPublicAccess поля.


az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --method PUT --uri "https://management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>/providers/Microsoft.Compute/virtualMachines/<VMSSname>/providers/Microsoft.Chaos/targets/Microsoft-Agent?api-version=2023-10-27-preview " --body ' {
    "id": "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/microsoft.compute/virtualmachines/<VMSSName>/providers/Microsoft.Chaos/targets/Microsoft-Agent",
    "type": "Microsoft.Chaos/targets",
    "name": "Microsoft-Agent",
    "location": "<resourceLocation>",
    "properties": {
        "agentProfileId": "<from target resource>",
        "identities": [
            {
                "type": "AzureManagedIdentity",
                "clientId": "<clientID>",
                "tenantId": "<tenantID>"
            }
        ],
        "agentTenantId": "CHAOSSTUDIO",
        "privateAccessId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAresourceName>",
        "allowPublicAccess": false
    }} '

Примечание.

Значение PrivateAccessID должно точно соответствовать resourceID значению, используемому для создания ресурса CSPA в предыдущем разделе " Создание ресурса Private Access в Chaos Studio.

Перезапуск службы агента Хаоса Azure на виртуальной машине

После внесения всех необходимых изменений на узел перезапустите службу агента Хаоса Azure на виртуальной машине.

Windows

Снимок экрана: перезапуск виртуальной машины Windows.

Linux

Для Linux выполните следующую команду из интерфейса командной строки:

Systemctl restart azure-chaos-agent

Снимок экрана: перезапуск виртуальной машины Linux.

Запуск эксперимента на основе агента с помощью частных конечных точек

После перезапуска агент Azure Chaos должен иметь возможность взаимодействовать со службой уровня данных агента связи, а регистрация агента в плоскости данных должна быть успешной. После успешной регистрации агент может указать состояние пульса. Затем можно продолжить выполнение экспериментов на основе агента Хаоса Azure с помощью частных конечных точек.