Обновление образов узлов Службы Azure Kubernetes (AKS)
Служба Azure Kubernetes (AKS) регулярно предоставляет новые образы узлов, поэтому рекомендуется часто обновлять образы узлов, чтобы использовать последние функции AKS. Образы узлов Linux обновляются еженедельно, а образы узлов Windows обновляются ежемесячно. Объявления об обновлении изображений включены в заметки о выпуске AKS и могут занять до недели для развертывания этих обновлений во всех регионах. Обновления образов узла также можно выполнять автоматически и запланировать с помощью планового обслуживания. Дополнительные сведения см. в разделе "Автоматическое обновление образов узлов".
В этой статье показано, как обновить образы узлов кластера AKS и как обновить образы пула узлов без обновления версии Kubernetes. Сведения об обновлении версии Kubernetes для кластера см. в статье Обновление кластера AKS.
Примечание.
Кластер AKS должен использовать масштабируемые наборы виртуальных машин для узлов.
Невозможно изменить версию образа узла (например , AKSUbuntu-2204 до AKSUbuntu-1804 или AKSUbuntu-2204-202308.01.0 до AKSUbuntu-2204-202307.27.0).
Проверка доступных обновлений образа узла
Проверьте наличие доступных обновлений az aks nodepool get-upgrades
образа узла с помощью команды.
az aks nodepool get-upgrades \
--nodepool-name mynodepool \
--cluster-name myAKSCluster \
--resource-group myResourceGroup
В выходных данных показан пример latestNodeImageVersion
, как показано в следующем примере:
{
"id": "/subscriptions/XXXX-XXX-XXX-XXX-XXXXX/resourcegroups/myResourceGroup/providers/Microsoft.ContainerService/managedClusters/myAKSCluster/agentPools/mynodepool/upgradeProfiles/default",
"kubernetesVersion": "1.17.11",
"latestNodeImageVersion": "AKSUbuntu-1604-2020.10.28",
"name": "default",
"osType": "Linux",
"resourceGroup": "myResourceGroup",
"type": "Microsoft.ContainerService/managedClusters/agentPools/upgradeProfiles",
"upgrades": null
}
В примере выходных latestNodeImageVersion
данных отображается AKSUbuntu-1604-2020.10.28
значение .
Сравните последнюю версию с текущей версией образа узла с помощью az aks nodepool show
команды.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--query nodeImageVersion
Результат должен выглядеть примерно следующим образом:
"AKSUbuntu-1604-2020.10.08"
В этом примере доступно обновление версии образа узла, начиная с версии до версии AKSUbuntu-1604-2020.10.08
AKSUbuntu-1604-2020.10.28
.
Обновление всех образов узлов во всех пулах узлов
Обновите образ узла с помощью az aks upgrade
команды с флагом --node-image-only
.
az aks upgrade \
--resource-group myResourceGroup \
--name myAKSCluster \
--node-image-only
Вы можете проверка состояние образов узлов с помощью kubectl get nodes
команды.
Примечание.
Эта команда может немного отличаться в зависимости от используемой оболочки. Дополнительные сведения о средах Windows и PowerShell см. в документации по JSONPath Kubernetes.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
По завершении обновления используйте az aks show
команду, чтобы получить обновленные сведения о пуле узлов. Текущий образ узла отображается в свойстве nodeImageVersion
.
az aks show \
--resource-group myResourceGroup \
--name myAKSCluster
Обновление определенного пула узлов
Чтобы обновить образ ОС пула узлов без обновления кластера Kubernetes, используйте az aks nodepool upgrade
команду с флагом --node-image-only
.
az aks nodepool upgrade \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--node-image-only
Вы можете проверка состояние образов узлов с kubectl get nodes
помощью команды.
Примечание.
Эта команда может немного отличаться в зависимости от используемой оболочки. Дополнительные сведения о средах Windows и PowerShell см. в документации по JSONPath Kubernetes.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
По завершении обновления используйте az aks nodepool show
команду, чтобы получить обновленные сведения о пуле узлов. Текущий образ узла отображается в свойстве nodeImageVersion
.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
Обновление образов узлов со всплеском активности узлов
Чтобы ускорить процесс обновления образа узла, можно обновить образы узлов, используя настраиваемое значение всплеска активности узлов. По умолчанию AKS использует один дополнительный узел для настройки обновлений.
Если вы хотите увеличить скорость обновления, используйте az aks nodepool update
команду с --max-surge
флагом, чтобы настроить количество узлов, используемых для обновлений. Дополнительные сведения о компромиссах для различных параметров --max-surge
см. в разделе Настройка обновления со всплеском активности узлов.
az aks nodepool update \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool \
--max-surge 33% \
--no-wait
Вы можете проверка состояние образов узлов с kubectl get nodes
помощью команды.
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
Используйте az aks nodepool show
для получения обновленных сведений о пуле узлов. Текущий образ узла отображается в свойстве nodeImageVersion
.
az aks nodepool show \
--resource-group myResourceGroup \
--cluster-name myAKSCluster \
--name mynodepool
Следующие шаги
- Сведения о последних образах узлов см. в заметках о выпуске AKS.
- Узнайте, как обновить версию Kubernetes с обновлением кластера AKS.
- Автоматическое применение обновлений кластера и пула узлов с помощью GitHub Actions.
- Дополнительные сведения о нескольких пулах узлов см. в разделе "Создание нескольких пулов узлов".
- Подробное обсуждение рекомендаций по обновлению и других рекомендаций см . в руководстве по исправлению и обновлению AKS.
Azure Kubernetes Service
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по