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


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

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

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

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