Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Кластеры службы Azure Kubernetes (AKS) состоят из двух основных компонентов: плоскости управления, управляемой Azure , и пулов узлов, где выполняются рабочие нагрузки. В этой статье основное внимание уделяется обновлению уровня управления независимо, что позволяет внедрять новые версии Kubernetes для функций сервера API при отдельном управлении обновлениями пула узлов.
Перед тем как начать
- Если вы используете Azure CLI, для этой статьи требуется Azure CLI версии 2.34.1 или более поздней. Используйте команду
az --versionдля поиска версии. Если вам нужно установить или обновить, см. статью "Установка Azure CLI". - Если вы используете Azure PowerShell, для этой статьи требуется Azure PowerShell версии 5.9.0 или более поздней. Используйте командлет
Get-InstalledModule -Name Azдля поиска версии. Если вам необходимо выполнить установку или обновление, см. статью об установке Azure PowerShell. - Для выполнения операций обновления требуется роль RBAC
Microsoft.ContainerService/managedClusters/agentPools/write. Дополнительные сведения о ролях Azure RBAC см. в операциях поставщика ресурсов Azure. - Начиная с версий Kubernetes версии 1.30 и 1.27 LTS, бета-интерфейсы API по умолчанию отключены при обновлении до них.
Предупреждение
Перед обновлением убедитесь, что у вас достаточно квоты вычислений. Если квота недостаточна, обновление может завершиться ошибкой. Дополнительные сведения см. в разделе Запросы на увеличение квоты.
Общие сведения о типах обновления AKS
В следующей таблице описаны три типа обновлений AKS, в котором выделены их области и варианты использования:
| Тип обновления | Scope | Сценарий использования |
|---|---|---|
| Только плоскость управления | Сервер API и т. д., диспетчер контроллеров, планировщик | Тестирование новых API Kubernetes перед обновлением рабочих нагрузок |
| Полный кластер | Плоскость контроля и все пулы узлов | Стандартное обновление для поддержания актуальности кластера |
| Только пул узлов | Конкретные пулы узлов | Поэтапное развертывание после обновления контрольной плоскости |
Подсказка
Обновление плоскости управления сначала позволяет проверить совместимость API Kubernetes, прежде чем влиять на выполнение рабочих нагрузок. Стратегии обновления пула узлов см. в разделе "Настройка последовательного обновления".
Правила обновления версий Kubernetes
При обновлении поддерживаемого кластера AKS нельзя пропустить дополнительные версии Kubernetes. Необходимо выполнить все обновления последовательно по номеру младшей версии. Например, разрешены обновления между 1.28.x ->1.29.x или 1.29.x ->1.30.x . 1.28.x ->1.30.x не разрешено.
Уровень управления может опережать пулы узлов на две минорные версии. Например, если уровень управления равен 1.30.x, пулы узлов могут иметь значение 1.28.x, 1.29.x или 1.30.x.
Проверка доступных обновлений AKS
Подсказка
Чтобы оставаться в курсе последних выпусков и обновлений AKS, см. средство отслеживания выпусков AKS.
Проверьте наличие доступных выпусков Kubernetes для кластера AKS с помощью az aks get-upgrades команды.
az aks get-upgrades --resource-group <resource-group-name> --name <cluster-name> --output table
В следующем примере выходных данных показана текущая версия как 1.28.9 и перечислены доступные версии в разделе upgrades:
Name ResourceGroup MasterVersion Upgrades
------- --------------- --------------- --------------
default <resource-group-name> 1.28.9 1.29.2, 1.29.4
Обновите только управляющую плоскость AKS
Обновите плоскость управления с помощью
az aks upgradeкоманды с флагом--control-plane-only. В следующем примере уровень управления обновляется до Kubernetes версии 1.29.4:az aks upgrade \ --resource-group <resource-group-name> \ --name <cluster-name> \ --kubernetes-version 1.29.4 \ --control-plane-onlyУбедитесь, что обновление уровня управления успешно выполнено с помощью команды
az aks show.az aks show --resource-group <resource-group-name> --name <cluster-name> --output tableВ следующем примере выходных данных показано, что плоскость управления теперь работает на версии 1.29.4:
Name Location ResourceGroup KubernetesVersion ProvisioningState Fqdn ------------ ---------- --------------- ------------------- ------------------- ------------------------------------------------ <cluster-name> eastus <resource-group-name> 1.29.4 Succeeded <cluster-name>-dns-123abcd4.hcp.eastus.azmk8s.ioУбедитесь, что версии пула узлов остаются неизменными с помощью команды [][
az aks nodepool listaz-aks-nodepool-list].az aks nodepool list --resource-group <resource-group-name> --cluster-name <cluster-name> --query "[].{Name:name,Version:orchestratorVersion}" --output tableВ выходных данных пулы узлов по-прежнему должны отображать предыдущую версию Kubernetes.
Обновление полного кластера AKS
Замечание
Во время полного обновления кластера AKS сначала обновляет плоскость управления, а затем обновляет каждый пул узлов последовательно. Дополнительные сведения об управлении обновлениями пула узлов см. в статье "Настройка последовательного обновления".
Обновите полный кластер (плоскость управления и все пулы узлов) с помощью az aks upgrade команды. В следующем примере кластер обновляется до Kubernetes версии 1.29.4:
az aks upgrade \
--resource-group <resource-group-name> \
--name <cluster-name> \
--kubernetes-version 1.29.4
Часто задаваемые вопросы
Почему мои пулы узлов были обновлены, когда я обновлял только плоскость управления?
AKS может инициировать поэтапное обновление пула узлов одновременно с обновлением плоскости управления, чтобы поддерживать соответствие и работоспособность кластера. Это обновление обычно происходит, когда предыдущее обновление узлов не удалось или узлы остались в смешанных версиях.
Можно ли обновить пулы узлов до обновления плоскости управления?
Нет. Версия плоскости управления всегда должна быть равной или больше версии любого пула узлов. Сначала необходимо обновить плоскость управления.
Сколько времени занимает обновление плоскости управления?
Обновление уровня управления обычно выполняется в течение 5–15 минут в зависимости от конфигурации кластера и загрузки региона Azure. Обновление пула узлов занимает больше времени, так как они включают очистку и повторное создание узлов.
Устранение проблем с обновлением контрольной плоскости
Нет доступных обновлений
Если az aks get-upgrades отображается отсутствие доступных обновлений, кластер может быть следующим:
- Уже на последней поддерживаемой версии.
- Версия, которая не поддерживается и требует миграции.
Для неподдерживаемых версий создайте кластер с поддерживаемой версией и перенесите рабочие нагрузки.
Сбой обновления из-за устаревших API
Перед обновлением проверьте устаревшие API с помощью таких средств, как kube-no-trouble (kubent):
kubent
Обновите манифесты, чтобы использовать поддерживаемые версии API перед обновлением.