Использование групп размещения близкого взаимодействия для уменьшения задержки кластеров Службы 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 с двумя или более виртуальными ЦП.
Создайте группу ресурсов Azure с помощью
az group create
команды.az group create --name myResourceGroup --location centralus
Создайте группу размещения близкого
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 }
Создайте кластер 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
Следующие шаги
Дополнительные сведения о группах размещения близкого взаимодействия.
Azure Kubernetes Service