Обновление кластеров
В этом разделе приведены инструкции по обновлению Kubernetes-кластеров, управляемых Cluster API.
Содержание
Обзор обновленияВерсия дистрибутива и версия KubernetesПредварительные требованияЭтап 1: Обновление версии дистрибутива (Aligned Extensions)Через Web UIШаг 1: Просмотр измененийШаг 2: Обновление Aligned ExtensionsПроверка после обновленияЭтап 2: Обновление версии KubernetesПодготовка к обновлениям через несколько версийШаг 1 — Предварительно синхронизируйте промежуточные образы Core в registryШаг 2 — Подготовьте промежуточные образы ОС для механизма provisioningШаг 3 — Примените платформозависимую процедуру для каждой промежуточной версииИнструкции для конкретных платформСвязанные темыОбзор обновления
Обновление кластера в Immutable Infrastructure выполняется в два этапа:
- Этап 1: Обновление версии дистрибутива (Aligned Extensions)
- Этап 2: Обновление версии Kubernetes
Такой двухэтапный процесс обновления гарантирует, что все расширения и плагины кластера совместимы с новой версией платформы до обновления базовых компонентов Kubernetes.
Версия дистрибутива и версия Kubernetes
Каждой версии дистрибутива соответствует определенная версия Kubernetes. Обновление версии дистрибутива обновляет расширения кластера и может включать поддержку новых версий Kubernetes.
Предварительные требования
- Control Plane доступен и находится в исправном состоянии
- Все узлы находятся в состоянии Ready
- Достаточная емкость IP Pool для rolling update
Этап 1: Обновление версии дистрибутива (Aligned Extensions)
Обновление версии дистрибутива обновляет Aligned Extensions кластера (плагины L3 и L4).
Через Web UI
Навигация: Clusters → Clusters → Select cluster → вкладка Aligned Extensions → нажмите Upgrade
Шаг 1: Просмотр изменений
⚠️ Все изменения должны быть рассмотрены совместно с технической поддержкой, чтобы определить, следует ли их сохранить или удалить. Неподтвержденные изменения могут привести к сбою обновления.
Проверьте все обнаруженные изменения, которые могут повлиять на обновление.
Действия:
- Acknowledge: подтвердите проверку и перейдите к шагу 2
- Cancel: прервите процесс обновления
Шаг 2: Обновление Aligned Extensions
Информация о версиях:
- Current Version: текущая версия дистрибутива кластера
- Target Version: версия дистрибутива глобального кластера
Оценка влияния плагинов:
Для плагинов с влиянием Medium и High установите Acknowledge, чтобы подтвердить, что вы понимаете риски.
Действия:
- Back: вернуться к шагу 1, чтобы повторно проверить изменения
- Start Upgrade: начать обновление (доступно только после подтверждения влияния Medium/High)
- Cancel: прервать процесс обновления
Проверка после обновления
После завершения обновления версии дистрибутива:
- Версия дистрибутива кластера будет обновлена
- Версии Kubernetes в Node Pool станут ниже, чем поддерживает новая версия дистрибутива
- Перейдите к этапу 2 для обновления Kubernetes
Этап 2: Обновление версии Kubernetes
После обновления версии дистрибутива обновите Kubernetes в каждом Node Pool. Руководства, зависящие от провайдера, содержат процедуры этапа 2 для каждой платформы.
См. руководства для соответствующих платформ:
Подготовка к обновлениям через несколько версий
Когда целевая версия дистрибутива ACP более чем на одну minor-версию Kubernetes выше текущей версии кластера, перед началом этапа 2 требуется дополнительная подготовка. Обновления на одну minor-версию пропускают этот раздел.
В Immutable Infrastructure каждая minor-версия Kubernetes встроена в соответствующий образ ОС, и каждая minor-версия Kubernetes сопоставляется с определенной строкой версии ACP в Матрице поддержки ОС. Поэтому версия Kubernetes последовательно переходит на одну minor-версию за раз, проходя через образ ОС каждой промежуточной строки ACP. Сам ACP Core (версия дистрибутива) по-прежнему обновляется напрямую до целевой версии через Cluster Version Operator — только версия Kubernetes проходит через промежуточные minor-версии.
Определите каждую minor-версию ACP между текущей и целевой версиями, используйте последний patch в каждой строке и выполните следующую предварительную подготовку для каждой промежуточной версии перед началом этапа 2.
Шаг 1 — Предварительно синхронизируйте промежуточные образы Core в registry
Для каждой промежуточной версии ACP загрузите ее пакет Core и синхронизируйте в registry только ее образы. Не запрашивайте обновление Core до промежуточной версии.
См. Sync upgrade artifacts для параметров команды.
Это помещает образы CoreDNS, etcd и chart Kube-OVN промежуточной версии в registry, чтобы подготовленное развертывание Kubernetes могло загрузить их при исправлении KubeadmControlPlane в соответствии со строкой в Матрице поддержки ОС. В air-gapped среде отсутствие промежуточных образов не позволяет запуститься новым компонентам Control Plane.
Aligned plugins не требуют дополнительного violet push для промежуточных версий; они переходят напрямую к целевой версии вместе с обновлением Core, а chart Kube-OVN, используемый на каждом промежуточном шаге Kubernetes, уже покрыт указанной выше синхронизацией образов Core.
Шаг 2 — Подготовьте промежуточные образы ОС для механизма provisioning
Для каждой промежуточной версии ACP сделайте соответствующий образ ОС (значение Alauda OS Image Version из строки Матрицы поддержки ОС) доступным для механизма provisioning узлов, чтобы на этапе Kubernetes можно было поочередно заменять узлы с использованием каждого образа:
- IaaS-провайдеры (Huawei DCS, VMware vSphere, Huawei Cloud Stack): загрузите образ ОС и зарегистрируйте его как VM template (или VM image, в зависимости от платформы) под точным именем, указанным в строке Матрицы поддержки ОС.
- Bare metal: сделайте образ ОС доступным для процесса повторного provisioning узлов, используемого вашим кластером.
После этого развертывание Control Plane и рабочих узлов последовательно проходит через промежуточные образы ОС, один за другим, в соответствии с подготовленной minor-версией Kubernetes, пока кластер не достигнет строки целевой версии ACP.
Шаг 3 — Примените платформозависимую процедуру для каждой промежуточной версии
Повторите платформозависимую процедуру этапа 2 для каждой промежуточной версии ACP по очереди, используя строку этой версии в Матрице поддержки ОС для значений KubeadmControlPlane и MachineDeployment. Для каждого перехода выполните стандартную процедуру провайдера — сначала Control Plane, затем рабочие узлы, в соответствии с policy несовместимости версий Kubernetes — прежде чем переходить к следующему. После успешного прохождения всех промежуточных переходов выполните ту же процедуру еще раз для целевой версии ACP.
Инструкции для конкретных платформ
Выберите вашу платформу для получения подробных инструкций по обновлению: