Использование групп размещения близкого взаимодействия для уменьшения задержки кластеров Службы Azure Kubernetes (AKS)

Примечание.

При использовании в AKS групп размещения близкого взаимодействия совместное размещение применяется только к узлам агента. При этом уменьшается задержка между узлами и соответствующими размещенными объектами pod. Совместное размещение не влияет на размещение плоскости управления кластера.

При развертывании приложения в Azure можно создать задержку сети, распространяя экземпляры виртуальной машины между регионами или зонами доступности, что может повлиять на общую производительность приложения. Группа размещения близкого взаимодействия — это логическая группировка, используемая для физического расположения вычислительных ресурсов Azure. В некоторых приложениях, таких как игры, моделирование инженеров и высокочастотная торговля (HFT) требуются низкая задержка и задачи, которые могут быстро завершиться. Для аналогичных сценариев высокопроизводительных вычислений (HPC) рекомендуется использовать группы размещения близкого взаимодействия (PPG) для пулов узлов кластера.

Подготовка к работе

Для этой статьи требуется Azure CLI версии 2.14 или более поздней. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.

Ограничения

  • Группа размещения близкого взаимодействия может сопоставить только с одной зоной доступности.
  • Для связывания пула узлов с группой размещения близкого взаимодействия должны использоваться Масштабируемые наборы виртуальных машин.
  • Группа размещения близкого взаимодействия может связываться с пулом узлов только в момент его создания.

Пулы узлов и группы размещения близкого взаимодействия

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

  • Можно связать несколько пулов узлов с одной группой размещения близкого взаимодействия.
  • Пул узлов можно связать только с одной группой размещения близкого взаимодействия.

Настройка групп размещения близкого взаимодействия с зонами доступности

Примечание.

Хотя группы размещения близкого взаимодействия требуют, чтобы пул узлов использовал только одну зону доступности, базовое соглашение об уровне обслуживания виртуальной машины Azure 99,9% по-прежнему действует для виртуальных машин в одной зоне.

Понятие группы размещения близкого взаимодействия определено для пулов узлов, и такие группы связаны с каждым отдельным пулом. Использование ресурса PPG не влияет на доступность плоскости управления AKS, что может повлиять на структуру кластера с зонами. Чтобы обеспечить распределение кластера по нескольким зонам, рекомендуется использовать следующую структуру:

  • Подготовьте кластер с первым системным пулом с помощью трех зон и группы размещения близкого взаимодействия, связанные с обеспечением размещения системных модулей pod в выделенном пуле узлов, который распространяется по нескольким зонам.
  • Добавьте дополнительные пулы узлов пользователей с уникальной зоной и группой размещения близкого взаимодействия, связанной с каждым пулом. Примером является nodepool1 в зоне 1 и PPG1, nodepool2 в зоне два и PPG2 и nodepool3 в зоне 3 с PPG3. Эта конфигурация гарантирует, что на уровне кластера узлы распределяются по нескольким зонам, и каждый пул отдельных узлов находится в выделенной зоне с выделенным ресурсом PPG.

Создание кластера AKS с группой размещения близкого взаимодействия

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

  1. Создайте группу ресурсов Azure с помощью az group create команды.

    az group create --name myResourceGroup --location centralus
    
  2. Создайте группу размещения близкого az ppg create взаимодействия с помощью команды. Обязательно запишите значение идентификатора в выходных данных.

    az ppg create --name myPPG --resource-group myResourceGroup --location centralus --type standard
    

    Команда создает выходные данные, аналогичные следующему примеру выходных данных, включая значение идентификатора , необходимое для предстоящих команд CLI.

    {
      "availabilitySets": null,
      "colocationStatus": null,
      "id": "/subscriptions/yourSubscriptionID/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myPPG",
      "location": "centralus",
      "name": "myPPG",
      "proximityPlacementGroupType": "Standard",
      "resourceGroup": "myResourceGroup",
      "tags": {},
      "type": "Microsoft.Compute/proximityPlacementGroups",
      "virtualMachineScaleSets": null,
      "virtualMachines": null
    }
    
  3. Создайте кластер AKS с помощью az aks create команды и замените значение myPPGResourceID идентификатором ресурса группы размещения близкого взаимодействия на предыдущем шаге.

    az aks create \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --ppg myPPGResourceID
        --generate-ssh-keys
    

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

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

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

  • Создайте пул узлов с помощью az aks nodepool add команды и замените значение myPPGResourceID идентификатором ресурса группы размещения близкого взаимодействия.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name mynodepool \
        --node-count 1 \
        --ppg myPPGResourceID
    

Очистка

  • Удалите группу ресурсов Azure вместе со своими ресурсами с помощью az group delete команды.

    az group delete --name myResourceGroup --yes --no-wait
    

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

Дополнительные сведения о группах размещения близкого взаимодействия.