Обновление кластера в открытом сетевом контуре
Перед обновлением платформы Nova Container Platform обратите внимание на рекомендации и предварительные условия, представленные в данном разделе.
1. Предварительные условия
-
Вы ознакомились с разделом Стадии и этапы обновления, а также с разделом Обновление в закрытом сетевом окружении.
-
У вас есть доступ к кластеру с учетной записью, имеющей роль
cluster-adminв Kubernetes. -
У вас есть токен доступа к хранилищу секретов StarVault с привилегиями
root. -
Вы установили утилиту
kubectlдля работы с Kubernetes. -
Вы установили утилиту
nova-ctlдля работы с платформой. -
У вас есть доступ к узлам кластера по протоколу SSH с машины, где вы используете утилиты
nova-ctlиkubectl. -
Вы сохранили резервную копию хранилища Etcd на случай экстренного восстановления.
-
Вы убедились, что все ваши приложения поддерживают новую версию Kubernetes (в случае мажорного обновления платформы).
-
Вы убедились, что все ваши приложения запущены в достаточном количестве реплик и распределены по разным узлам платформы или временная недоступность ваших приложений допустима в рамках окна обновления.
-
Вы обновили сервер управления Nova Universe, если выполнялась офлайн-установка платформы.
-
Проверьте, что все узлы платформы находятся в состоянии
Ready:kubectl get nodes NAME STATUS ROLES AGE VERSION node-master-lm0jxax0.nova-zig4kntx30g3.local Ready control-plane 115d v1.26.8 node-worker-1ig440y8.nova-zig4kntx30g3.local Ready infra 115d v1.26.8 node-worker-paknej6b.nova-zig4kntx30g3.local Ready ingress,worker 115d v1.26.8 -
Проверьте, что все объекты реконсиляции Cluster Kustomizations находятся в состоянии
Ready:Пример проверки объектов реконсиляции Cluster Kustomizations
kubectl get ks -l kustomization.nova-platform.io/cluster=true -A NAMESPACE NAME AGE READY STATUS nova-gitops nova-release-cadvisor-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-cert-manager-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-cert-manager-post 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-cilium-hubble 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-cluster-crds 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-console-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-csi-local-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-descheduler-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-git-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-grafana-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-ingress-internal-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-ingress-public-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-logging-operator-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-metrics-server-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-prometheus-adapter-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-prometheus-pre 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-reflector-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-reloader-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 nova-gitops nova-release-vpa-main 23m True Applied revision: v2.3.1@sha1:1621385e63a481153346cb1fdde5116193decc61 -
Проверьте, что в кластере Kubernetes отсутствуют сервисы в состоянии ошибки:
kubectl get pods -A | grep -vi "run\comp"
|
Если вы обнаружили в кластере сбои в работе собственных или платформенных сервисов, то рекомендуется сначала устранить их, а затем выполнять обновление. В противном случае обновление кластера может завершиться с ошибкой. |
2. Обновление Nova Container Platform c помощью CLI
Вы можете получить информацию о новых релизах Nova Container Platform в разделе Заметки к релизу.
3. Процедура обновления
-
Запустите процедуру обновления кластера с помощью
nova-ctl:nova-ctl cluster update --version 6.4.0 \ --ssh-user <имя_пользователя> \ --ssh-key <закрытый ключ SSH> \ --starvault-root-token <токен доступа к StarVault>Пример
nova-ctl cluster update --version 6.4.0 \ --ssh-user nova-installer \ --ssh-key id_rsa.pem \ --starvault-root-token hvs.cYWWUFTWzBlESPhLRR9r672wВ процессе обновления платформы вы можете дополнительно обновить системные TLS-сертификаты Kubernetes. Для этого дополнительно укажите ключ
.nova-ctl cluster update --renew-certs -
Подтвердите обновление платформы:
Are you sure you want to update the cluster? (yes/no) [no] yes -
Процедура обновления запущена. Во время ее выполнения вам необходимо подтверждать последовательное обновление каждого узла кластера.
Пример
■ Validating cluster nodes... done ■ Validating license... done ■ Preparing update... done ☕️ 4/7: Updating cluster... Press enter to start updating node 10.0.0.20 ■ Validating cluster nodes... done ■ Validating license... done ■ Preparing update... done ☕️ 4/7: Updating cluster... ■ Updating node 10.0.0.20... done ■ Updating node 10.0.0.21... done ■ Updating node 10.0.0.22... done ■ Updating node 10.0.0.23... done ■ Updating node 10.0.0.25... -
Дождитесь сообщения об успешном обновлении платформы.
Пример
■ Validating cluster nodes... done ■ Validating license... done ■ Preparing update... done ■ Updating cluster... done ■ Updating modules... done ■ Updating platform applications... done -
При необходимости проверьте состояние кластера Kubernetes после обновления, используя раздел Проверка платформы после установки.