Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Кластеры службы 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. - Для выполнения операций обновления требуется роль участника Служба Azure Kubernetes или эквивалентные разрешения.
- Бета-api отключены по умолчанию при обновлении до Kubernetes версии 1.30 и 1.27 LTS.
Предупреждение
Перед обновлением убедитесь, что у вас достаточно квоты вычислений. Если квота недостаточна, обновление может завершиться ошибкой. Дополнительные сведения см. в разделе Запросы на увеличение квоты.
Общие сведения о типах обновления AKS
В следующей таблице описаны три типа обновлений AKS, в котором выделены их области и варианты использования:
| Тип обновления | Scope | Сценарий использования |
|---|---|---|
| Только плоскость управления | Сервер API и т. д., диспетчер контроллеров, планировщик | Тестирование новых API Kubernetes перед обновлением рабочих нагрузок |
| Полный кластер | Плоскость контроля и все пулы узлов | Стандартное обновление для поддержания актуальности кластера |
| Только пул узлов | Конкретные пулы узлов | Поэтапное развертывание после обновления контрольной плоскости |
Подсказка
Обновление плоскости управления сначала позволяет проверить совместимость API Kubernetes, прежде чем влиять на выполнение рабочих нагрузок. Стратегии обновления пула узлов см. в разделе "Настройка последовательного обновления".
Правила обновления версий Kubernetes
При обновлении поддерживаемого кластера AKS, отличного от LTS, нельзя пропускать дополнительные версии Kubernetes. Необходимо выполнить все обновления последовательно по номеру младшей версии. Например, разрешены обновления между 1.28.x ->1.29.x или 1.29.x ->1.30.x . 1.28.x ->1.30.x не разрешено.
Кластер LTS может пропускать дополнительные версии при переходе на более высокую версию LTS, предлагаемую AKS, при условии, что обновление удовлетворяет требованиям к исправлению версий и проверкам. Дополнительные сведения см. в статье "Можно ли пропустить несколько версий AKS во время обновления кластера?".
Начиная с Kubernetes 1.28, плоскость управления может быть до трех дополнительных версий перед пулами узлов. Например, если уровень управления равен 1.35.x, пулы узлов могут иметь значение 1.32.x, 1.33.x, 1.34.x или 1.35.x. Сведения о текущих ограничениях см. в политике отклонений версий AKS.
Проверка доступных обновлений 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
Important
Невозможно выполнить обновление только на уровне управления, если включена автоматическая настройка кластера . Автоматическое обновление кластера всегда обновляет плоскость управления и все пулы узлов вместе.
Обновите плоскость управления с помощью
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 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 (часто задаваемые вопросы)
Обновляет ли пулы узлов только на уровне управления?
Нет. Обновление только на уровне управления не изменяет пулы узлов. Автоматическое обновление кластера работает по-разному: он не поддерживает обновления только на уровне управления и обновляет плоскость управления и все пулы узлов вместе.
Можно ли обновить пулы узлов до обновления плоскости управления?
Нет. Версия плоскости управления всегда должна быть равной или больше версии любого пула узлов. Сначала необходимо обновить плоскость управления.
Сколько времени занимает обновление плоскости управления?
Длительность обновления зависит от состояния кластера и условий Azure. Мониторинг provisioningState использования az aks show или Get-AzAksCluster. Обновление завершается после состояния Succeededподготовки.
Устранение проблем с обновлением контрольной плоскости
Нет доступных обновлений
Для неподдерживаемого кластера используйте az aks get-upgrades проверку того, предлагает ли AKS подходящий поддерживаемый целевой объект. Если целевой объект доступен, выполните полное обновление кластера. Обновления только на уровне управления не поддерживаются для этого пути восстановления.
Если целевой объект недоступен, кластер уже может находиться в последней поддерживаемой версии. Если кластер выполняет неподдерживаемую версию, создайте новый кластер с поддерживаемой версией и перенесите рабочие нагрузки.
Сбой обновления из-за устаревших API
Перед обновлением проверьте устаревшие API с помощью таких средств, как kube-no-trouble (kubent):
kubent
Команда сканирует ресурсы, доступные в текущем контексте kubeconfig для устаревших версий API Kubernetes. Выходные данные группируются по версии Kubernetes и определяют каждый затронутый ресурс , KINDNAMESPACENAMEи .API_VERSION Обновите исходный манифест для каждого указанного ресурса, чтобы использовать поддерживаемую версию API перед обновлением.