Поделиться через


Руководство по обновлению Kubernetes в AKS с поддержкой Azure Arc

Область применения: AKS в Azure Local 22H2, AKS на Windows Server

В рамках управления жизненным циклом приложения и кластера может потребоваться обновить до последней доступной версии Kubernetes при использовании AKS, включенной Azure Arc.

В этом руководстве, часть семи из семи, описывается обновление кластера Kubernetes. Вы изучите следующие темы:

  • Определение текущей и доступной версии Kubernetes.
  • Обновление версии узлов Kubernetes Kubernetes
  • Обновление версии ОС узлов Kubernetes
  • Обновление кластера Kubernetes до последней версии
  • Проверка успешного обновления.
  • Удаление кластера Kubernetes

Какие доступные параметры обновления?

Существует несколько типов обновлений, которые могут происходить независимо друг от друга и в определенных поддерживаемых сочетаниях:

  • Обновите узел AKS до последней версии.
  • Обновите кластер рабочей нагрузки AKS до новой версии Kubernetes.
  • Обновите узлы контейнеров AKS до более новой версии операционной системы.
  • Объединенное обновление операционной системы и версии Kubernetes.

Все обновления выполняются в последовательном потоке, чтобы избежать сбоев в доступности рабочей нагрузки. Когда новый рабочий узел Kubernetes с более новой сборкой переносится в кластер, ресурсы перемещаются с старого узла на новый узел. После успешного завершения работы старый узел удаляется и удаляется из кластера.

В примерах этого руководства предполагается, что кластер рабочей нагрузки, myclusterв настоящее время находится в Kubernetes версии 1.18.8 и использует версию операционной системы более 30 дней.

Подготовка к работе

В предыдущих руководствах вы узнали, как упаковать приложение в образ контейнера, отправить его в Реестр контейнеров Azure и создать кластер Kubernetes. Затем вы развернули приложение в кластере. Если вы не выполнили эти действия, начните с руководства 1. Создание образов контейнеров.

Обновление версии кластера рабочей нагрузки Kubernetes

Прежде чем обновлять версию Kubernetes, необходимо обновить модули PowerShell и узел AKS.

Внимание

Обновление кластера рабочей нагрузки до более новой версии Kubernetes работает только в том случае, если целевая версия Kubernetes поддерживается текущей версией операционной системы. Чтобы проверить поддерживаемые сочетания версий операционной системы и Kubernetes, используйте Get-AksHciUpdates команду.

Чтобы обновить версию Kubernetes, выполните следующие действия.

  1. Чтобы получить текущую версию кластера рабочей нагрузки, выполните следующую команду:

    Get-AksHciCluster
    
    ProvisioningState     : provisioned
    KubernetesVersion     : v1.20.7
    NodePools             : linuxnodepool
    WindowsNodeCount      : 0
    LinuxNodeCount        : 0
    ControlPlaneNodeCount : 1
    Name                  : mycluster   
    
  2. Чтобы получить доступные версии 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 -> v1.19.xx, но версия 1.18.xx -> v1.20.xx не является.

  3. Запуск обновления версии Kubernetes

    Чтобы обновить версию Kubernetes, выполните следующую команду:

    Update-AksHciCluster -name mycluster -kubernetesVersion v1.21.1
    

    Примечание.

    Эта команда обновляет только существующие узлы кластера в кластере mycluster рабочей нагрузки до новой версии Kubernetes.

Обновление только версии операционной системы

Внимание

Кластер рабочей нагрузки можно обновить до более новой версии операционной системы, не изменив версию Kubernetes, но это работает только в том случае, если новая версия операционной системы не требует другой версии Kubernetes.

Выполните действия, описанные в следующем примере, чтобы обновить версию ОС:

  1. Чтобы получить доступные обновления кластера рабочей нагрузки, выполните следующую команду:

    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}
    
  2. Чтобы инициировать обновление версии операционной системы, выполните следующую команду:

    Update-AksHciCluster -clusterName mycluster -kubernetesVersion v1.21.1 -operatingSystem
    

Обновление ос и версии Kubernetes

Внимание

Поддерживается обновление кластера рабочей нагрузки до более новой версии операционной системы и версии Kubernetes.

В следующем примере предполагается, что доступна новая версия Kubernetes, а текущий номер версии — версии 1.20.7.

  1. Чтобы получить все доступные обновления кластера рабочей нагрузки, выполните следующую команду:

    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}
    
  2. Чтобы инициировать обновление кластера рабочей нагрузки, выполните следующую команду:

    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 и кластерах и рабочих нагрузках.