Добавление Выделенного узла Azure в кластер Службы Azure Kubernetes (AKS)
Выделенный узел Azure — это служба, предоставляющая выделенные для одной подписки Azure физические серверы, способные вместить одну или несколько виртуальных машин. Выделенные узлы — это физические серверы, которые используются в наших центрах обработки данных и предоставляются в качестве ресурса. Вы можете подготавливать выделенные узлы в пределах региона, зоны доступности и домена сбоя. Затем вы можете разместить виртуальные машины в подготовленных узлах в конфигурации, которая больше всего соответствует вашим потребностям.
Применение Выделенных узлов Azure для узлов с кластером AKS обеспечивает следующие преимущества:
- Изоляция оборудования на уровне физического сервера. Другие виртуальные машины не будут размещаться на ваших узлах. Выделенные узлы развертываются в одних и тех же центрах обработки данных и используют ту же сеть и базовую инфраструктуру хранения, что и другие, не изолированные узлы.
- Управление событиями обслуживания, инициируемыми платформой Azure. Хотя большинство событий обслуживания почти не оказывает влияния на виртуальные машины, существует ряд чувствительных рабочих нагрузок, на работу которых может повлиять каждая секунда приостановки. С помощью выделенных узлов можно давать согласие на участие в периоде обслуживания, чтобы снизить влияние на свою службу.
Подготовка к работе
- Подписка Azure. Если у вас еще нет подписки Azure, вы можете создать бесплатную учетную запись.
- Прежде чем начать, убедитесь, что используете версию Azure CLI не ниже 2.39.0. Если вы используете более раннюю версию, установите последний выпуск.
Ограничения
При интеграции Выделенного узла Azure со службой Azure Kubernetes применяются перечисленные ниже ограничения.
- Ускорение работы в сети
- Существующий пул агентов нельзя преобразовать не ADH в ADH и обратно.
- Не поддерживается обновление пула агентов из группы узлов A в группу узлов B.
- Использование ADH в разных подписках.
Планирование емкости ADH в AKS
Не все номера SKU узлов доступны во всех регионах и зонах доступности. Прежде чем приступать к подготовке выделенных узлов, получите сведения о доступности узлов и ограничениях предложений.
az vm list-skus --location eastus --resource-type hostGroups/hosts -o table
Примечание.
Во-первых, при использовании группы узлов число доменов сбоя nodepool всегда совпадает с числом доменов сбоя группы узлов. Чтобы использовать автоматическое масштабирование кластера для работы с ADH и AKS, убедитесь, что у вас достаточно доменов сбоя группы узлов и емкости. Во-вторых, изменяйте число доменов сбоя со значения по умолчанию (1) на любое другое число только в том случае, если вы точно знаете, что они настроены неправильно и могут привести к немасштабируемой конфигурации.
Определите, сколько узлов потребуется на основе ожидаемого использования виртуальной машины.
Оцените использование узла, чтобы определить количество распределимых виртуальных машин по размеру перед развертыванием.
az vm host get-instance-view --resource-group myDHResourceGroup --host-group MyHostGroup --name MyHost
Добавление группы выделенных узлов в кластер AKS
Группа узлов — это ресурс, который представляет собой коллекцию выделенных узлов. Группа узлов создается в регионе и зоне доступности, и в нее добавляются узлы. При планировании высокого уровня доступности доступны дополнительные варианты. Для выделенных узлов можно использовать один или оба следующих варианта:
- Развертывание в нескольких зонах доступности. В этом случае группа узлов должна быть в каждой из зон, которую необходимо использовать.
- Развертывание в нескольких доменах сбоя, сопоставленных с физическими стойками.
В любом случае необходимо указать количество доменов сбоя для группы узлов. Если группа не должна охватывать несколько доменов сбоя, используйте число доменов сбоя, равное 1.
Можно также использовать как зоны доступности, так и домены сбоя.
Создание группы узлов
Теперь создайте выделенный узел в группе узлов. Помимо имени узла, необходимо указать его номер SKU. Номер SKU узла определяет поддерживаемую серию виртуальных машин, а также поколение оборудования для выделенного узла.
Дополнительные сведения о номерах SKU и ценах узлов см. на странице цен на выделенные узлы Azure.
Создайте узел с помощью команды az vm host create. Если для группы узлов задано число доменов сбоя, вам будет предложено указать домен сбоя для узла.
В этом примере мы используем команду az vm host group create для создания группы узлов с использованием как зон доступности, так и доменов сбоя.
az vm host group create \
--name myHostGroup \
--resource-group myDHResourceGroup \
--zone 1 \
--platform-fault-domain-count 1 \
--automatic-placement true
Создание выделенного узла
Теперь создайте выделенный узел в группе узлов. Помимо имени узла, необходимо указать его номер SKU. Номер SKU узла определяет поддерживаемую серию виртуальных машин, а также поколение оборудования для выделенного узла.
Если для группы узлов задано число доменов сбоя, вам нужно указать домен сбоя для узла.
az vm host create \
--host-group myHostGroup \
--name myHost \
--sku DSv3-Type1 \
--platform-fault-domain 1 \
--resource-group myDHResourceGroup
Использование удостоверения, назначаемого пользователем
Внимание
Требуется назначаемое пользователем удостоверение с ролью "Участник" в группе ресурсов группы узлов.
Сначала создайте управляемое удостоверение.
az identity create --resource-group <Resource Group> --name <Managed Identity name>
Назначьте управляемое удостоверение.
az role assignment create --assignee <id> --role "Contributor" --scope <Resource id>
Создайте кластер AKS с помощью группы узлов.
Создайте кластер AKS и добавьте только что настроенную группу узлов.
az aks create \
--resource-group MyResourceGroup \
--name MyManagedCluster \
--location eastus \
--nodepool-name agentpool1 \
--node-count 1 \
--host-group-id <id> \
--node-vm-size Standard_D2s_v3 \
--assign-identity <id> \
--generate-ssh-keys
Добавьте пул узла выделенных узлов в существующий кластер AKS.
Добавьте группы узлов в уже существующий кластер AKS.
az aks nodepool add --cluster-name MyManagedCluster --name agentpool3 --resource-group MyResourceGroup --node-count 1 --host-group-id <id> --node-vm-size Standard_D2s_v3
Удалите пул узла выделенных узлов из кластера AKS.
az aks nodepool delete --cluster-name MyManagedCluster --name agentpool3 --resource-group MyResourceGroup
Следующие шаги
Из этой статьи вы узнали, как создать кластер AKS с выделенным узлом и добавить выделенный узел в существующий кластер. Дополнительные сведения о выделенных узлах см. в разделе Выделенные узлы.
Azure Kubernetes Service