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


Моментальный снимок пулов узлов Службы Azure Kubernetes (AKS)

AKS выпускает новый образ узла еженедельно. Каждый новый кластер, новый пул узлов или кластер обновления всегда получает последний образ, что может сделать его трудно поддерживать согласованность и иметь повторяемые среды.

Моментальные снимки пула узлов позволяют получить моментальный снимок конфигурации пула узлов, а затем создавать пулы узлов или кластеры на основе этого моментального снимка до тех пор, пока поддерживается эта конфигурация и версия Kubernetes. Дополнительные сведения о периодах поддержки см. в разделе Поддерживаемые версии Kubernetes в AKS.

Моментальный снимок — это ресурс Azure, содержащий сведения о конфигурации из исходного пула узлов, например версию образа узла, версию kubernetes, тип ОС и номер SKU ОС. Затем можно ссылаться на этот ресурс моментального снимка и соответствующие значения его конфигурации, чтобы создать пул узлов или кластер на его основе.

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

В этой статье предполагается, что у вас есть кластер AKS. Если у вас нет кластера AKS, ознакомьтесь с рекомендациями по проектированию корпоративной реализации AKS, см. в разделе "Планирование проектирования AKS".

Ограничения

  • Любой пул узлов или кластер, созданный из моментального снимка, должен использовать виртуальную машину из того же семейства виртуальных машин, что и моментальный снимок. Например, невозможно создать пул узлов серии N на основе моментального снимка, записанного из пула узлов серии D, так как образы узлов в таких случаях структурно различаются.
  • Моментальные снимки должны создаваться в том же регионе, что и исходный пул узлов, эти моментальные снимки можно использовать для создания или обновления кластеров и пулов узлов в других регионах.

Создание моментального снимка пула узлов

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

NODEPOOL_ID=$(az aks nodepool show --name nodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --query id -o tsv)

Внимание

Пул узлов AKS должен быть создан или обновлен после 10 ноября, 2021 года, чтобы из него можно было получить моментальный снимок. Если вы используете расширение Azure CLI aks-preview версии 0.5.59 или выше, обратите внимание, что команды для моментального снимка пула узлов изменились. Обновленные команды см. в справочнике по CLI для моментального снимка пула узлов.

Теперь для создания моментального снимка из предыдущего пула узлов используйте az aks snapshot команду CLI.

az aks nodepool snapshot create --name MySnapshot --resource-group MyResourceGroup --nodepool-id $NODEPOOL_ID --location eastus

Создание пула узлов из моментального снимка

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

SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)

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

az aks nodepool add --name np2 --cluster-name myAKSCluster --resource-group myResourceGroup --snapshot-id $SNAPSHOT_ID

Обновление пула узлов до моментального снимка

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

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

SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)

Теперь данную команду можно использовать для обновления пула узлов до этой конфигурации моментального снимка.

az aks nodepool upgrade --name nodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --snapshot-id $SNAPSHOT_ID

Примечание.

Версия образа пула узлов совпадает с моментальным снимком и остается одинаковой во всех операциях масштабирования. Однако если этот пул узлов обновляется или выполняется обновление образа узла, не предоставляя идентификатор моментального снимка, образ узла обновляется до последней версии.

Примечание.

Чтобы обновить только версию узла для пула --node-image-only узлов, используйте флаг. Это необходимо при обновлении версии образа узла для пула узлов на основе моментального снимка с идентичной версией Kubernetes.

Создание кластера из моментального снимка

При создании кластера из моментального снимка конфигурация моментального снимка создает исходный системный пул кластера.

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

SNAPSHOT_ID=$(az aks nodepool snapshot show --name MySnapshot --resource-group myResourceGroup --query id -o tsv)

Теперь эту команду можно использовать для создания этого кластера на основе моментального снимка.

az aks create \
    --name myAKSCluster2 \
    --resource-group myResourceGroup \
    --snapshot-id $SNAPSHOT_ID \
    --generate-ssh-keys

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