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


Используйте группы близкого размещения для снижения задержки в кластерах Службы 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
    

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

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