Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служба 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).
Подключение к кластеру AKS
Подключитесь к кластеру AKS с помощью команды [
az aks get-credentials][az-aks-get-credentials].az aks get-credentials \ --resource-group $AKS_RESOURCE_GROUP \ --name $AKS_CLUSTER
Проверка наличия обновлений образов узла
Проверьте наличие доступных обновлений для образа узла с помощью команды
az aks nodepool get-upgrades.az aks nodepool get-upgrades \ --nodepool-name $AKS_NODEPOOL \ --cluster-name $AKS_CLUSTER \ --resource-group $AKS_RESOURCE_GROUPВ выходных данных найдите значение
latestNodeImageVersionи запишите его. Это значение представляет собой последнюю версию образа узла, доступную для пула узлов.Проверьте текущую версию образа узла, чтобы сравнить ее с последней версией
az aks nodepool showс помощью команды.az aks nodepool show \ --resource-group $AKS_RESOURCE_GROUP \ --cluster-name $AKS_CLUSTER \ --name $AKS_NODEPOOL \ --query nodeImageVersionЕсли значение
nodeImageVersionотличается от значенияlatestNodeImageVersion, вы можете обновить образ узла.
Обновление всех образов узлов во всех пулах узлов
Обновите все образы узлов во всех пулах узлов в вашем кластере с помощью команды
az aks upgradeс флагом--node-image-only.az aks upgrade \ --resource-group $AKS_RESOURCE_GROUP \ --name $AKS_CLUSTER \ --node-image-only \ --yesВы можете проверить состояние образов узлов с помощью
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 $AKS_RESOURCE_GROUP \ --name $AKS_CLUSTER
Обновление определенного пула узлов
Обновите образ ОС в пуле рабочих узлов без обновления кластера Kubernetes с помощью команды
az aks nodepool upgradeи флага--node-image-only.az aks nodepool upgrade \ --resource-group $AKS_RESOURCE_GROUP \ --cluster-name $AKS_CLUSTER \ --name $AKS_NODEPOOL \ --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 $AKS_RESOURCE_GROUP \ --cluster-name $AKS_CLUSTER \ --name $AKS_NODEPOOL
Обновление образов узлов со всплеском активности узлов
Чтобы ускорить процесс обновления образа узла, можно обновить образы узлов, используя настраиваемое значение всплеска активности узлов. По умолчанию AKS использует один дополнительный узел для настройки обновлений.
Обновите образы узлов с помощью функции увеличения узлов, используя команду
az aks nodepool updateс флагом--max-surge, чтобы настроить количество узлов, используемых для обновлений.Замечание
Дополнительные сведения о компромиссах для различных параметров
--max-surgeсм. в разделе Настройка обновления со всплеском активности узлов.az aks nodepool update \ --resource-group $AKS_RESOURCE_GROUP \ --cluster-name $AKS_CLUSTER \ --name $AKS_NODEPOOL \ --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 $AKS_RESOURCE_GROUP \ --cluster-name $AKS_CLUSTER \ --name $AKS_NODEPOOL
Дальнейшие шаги
- Для получения информации о последних образах узлов см. заметки о выпуске AKS.
- Узнайте, как обновить версию Kubernetes с обновлением кластера AKS.
- Автоматическое применение обновлений кластера и пула узлов с помощью GitHub Actions.
- Узнайте больше о нескольких пулах узлов в разделе Создание нескольких пулов узлов.
- Узнайте о лучших методах обновления с помощью руководства по исправлениям и обновлениям AKS.