Руководство. Обновление Kubernetes в AKS с поддержкой Azure Arc
Область применения: AKS в Azure Stack HCI 22H2, AKS в Windows Server
В рамках управления жизненным циклом приложения и кластера может потребоваться выполнить обновление до последней доступной версии Kubernetes при использовании AKS, включенной Azure Arc.
В этом руководстве, часть 7 из семи, описывается обновление кластера Kubernetes. Вы узнаете, как:
- Определение текущей и доступной версии Kubernetes.
- Обновление версии Kubernetes узлов Kubernetes
- Обновление версии ОС узлов Kubernetes
- Обновление кластера Kubernetes до последней версии
- Проверка успешного обновления.
- Удаление кластера Kubernetes
Какие доступные варианты обновления?
Существует несколько типов обновлений, которые могут выполняться независимо друг от друга и в определенных поддерживаемых сочетаниях:
- Обновите узел AKS до последней версии.
- Обновите кластер рабочей нагрузки AKS до новой версии Kubernetes.
- Обновите узлы контейнеров AKS до более новой версии операционной системы.
- Объединенное обновление операционной системы и версии Kubernetes.
Все обновления выполняются в последовательном потоке, чтобы избежать сбоев в доступности рабочей нагрузки. При переносе в кластер нового рабочего узла Kubernetes с более новой сборкой ресурсы перемещаются со старого узла на новый. После успешного завершения старый узел выводится из эксплуатации и удаляется из кластера.
В примерах, приведенных в этом руководстве, предполагается, mycluster
что кластер рабочей нагрузки , в настоящее время использует Kubernetes версии 1.18.8 и использует версию операционной системы более 30 дней.
Подготовка к работе
В предыдущих руководствах вы узнали, как упаковать приложение в образ контейнера, отправить его в Реестр контейнеров Azure и создать кластер Kubernetes. Затем вы развернули приложение в кластере. Если вы еще не выполнили эти действия, начните с учебника 1. Создание образов контейнеров.
Обновление версии Kubernetes кластера рабочей нагрузки
Сначала необходимо обновить модули PowerShell и узел AKS, прежде чем обновлять версию Kubernetes.
Важно!
Обновление кластера рабочей нагрузки до более новой версии Kubernetes работает только в том случае, если целевая версия Kubernetes поддерживается текущей версией операционной системы. Чтобы проверка поддерживаемых сочетаний версий операционной системы и Kubernetes, используйте Get-AksHciUpdates
команду .
Чтобы обновить версию Kubernetes, выполните следующие действия.
Чтобы получить текущую версию кластера рабочей нагрузки, выполните следующую команду:
Get-AksHciCluster
ProvisioningState : provisioned KubernetesVersion : v1.20.7 NodePools : linuxnodepool WindowsNodeCount : 0 LinuxNodeCount : 0 ControlPlaneNodeCount : 1 Name : mycluster
Чтобы получить доступные версии Kubernetes, выполните следующую команду:
Get-AksHciKubernetesVersion
OrchestratorType OrchestratorVersion OS IsPreview ---------------- ------------------- -- --------- Kubernetes v1.19.9 Linux False Kubernetes v1.19.11 Linux False Kubernetes v1.20.5 Linux False Kubernetes v1.20.7 Linux False Kubernetes v1.21.1 Linux False Kubernetes v1.19.9 Windows False Kubernetes v1.19.11 Windows False Kubernetes v1.20.5 Windows False Kubernetes v1.20.7 Windows False Kubernetes v1.21.1 Windows False
В выходных данных показаны версии Kubernetes и операционные системы, в которых эта версия доступна. Вы увидите, что доступны дополнительные версии обновления. Однако при обновлении кластеров нельзя пропускать версии. Например, версия 1.18.xx —> версия 1.19.xx разрешена, а v1.18.xx —> v1.20.xx — нет.
Запуск обновления версии Kubernetes
Чтобы обновить версию Kubernetes, выполните следующую команду:
Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
Примечание
Эта команда обновляет только существующие узлы кластера в кластере
mycluster
рабочей нагрузки до новой версии Kubernetes.
Обновление только версии операционной системы
Важно!
Вы можете обновить кластер рабочей нагрузки до более новой версии операционной системы, не изменяя версию Kubernetes, но это работает только в том случае, если для новой версии операционной системы не требуется другая версия Kubernetes.
Выполните действия, описанные в следующем примере, чтобы обновить версию ОС:
Чтобы получить доступные обновления кластера рабочей нагрузки, выполните следующую команду:
Get-AksHciClusterUpdates -name mycluster
details kubernetesversion operatingsystemversion ------- ----------------- ---------------------- This is a patch kubernetes upgrade. (i.e v1.1.X to v1.1.Y) v1.19.9 @{mariner=April 2021; windows=April 2021} This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1) v1.20.5 @{mariner=April 2021; windows=April 2021}
Чтобы запустить обновление версии операционной системы, выполните следующую команду:
Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
Обновление ос и версии Kubernetes
Важно!
Поддерживается обновление кластера рабочей нагрузки до более новой версии операционной системы и Версии Kubernetes.
В следующем примере предполагается, что доступна новая версия Kubernetes, а текущий номер версии — v1.20.7.
Чтобы получить все доступные обновления кластера рабочей нагрузки, выполните следующую команду:
Get-AksHciClusterUpdates -name mycluster
details kubernetesversion operatingsystemversion ------- ----------------- ---------------------- This is a patch kubernetes upgrade. (i.e v1.1.X to v1.1.Y) v1.19.9 @{mariner=April 2021; windows=April 2021} This is a minor kubernetes upgrade. (i.e v1.X.1 to v1.Y.1) v1.20.5 @{mariner=April 2021; windows=April 2021}
Чтобы инициировать обновление кластера рабочей нагрузки, выполните следующую команду:
Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
Проверка обновления
Убедитесь, что обновление прошло успешно, используя команду Get-AksHciCluster , следующим образом:
Get-AksHciCluster -name mycluster
В следующем примере выходных данных показано, как кластер запускает KubernetesVersion версии 1.21.1:
ProvisioningState : provisioned
KubernetesVersion : v1.21.1
NodePools : linuxnodepool
WindowsNodeCount : 0
LinuxNodeCount : 0
ControlPlaneNodeCount : 1
Name : mycluster
Удаление кластера
Так как это руководство является последней частью серии, может потребоваться удалить кластер. Используйте команду Remove-AksHciCluster , чтобы удалить группу ресурсов, службу контейнеров и все связанные ресурсы:
Remove-AksHciCluster -name mycluster
Дальнейшие действия
В этом руководстве вы обновили Kubernetes в кластере Kubernetes в AKS, включенном Arc. Вы узнали, как:
- Определение текущей и доступной версии Kubernetes.
- Обновление версии Kubernetes узлов Kubernetes
- Обновление версии ОС узлов Kubernetes
- Обновление кластера Kubernetes до последней версии
- Проверка успешного обновления.
Дополнительные сведения об AKS, включенном Azure Arc, см. в статье Обзор AKS и кластеры и рабочие нагрузки.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по