Обновление сертификатов платформы
1. Обновление сертификатов, выпущенных в Secrets Manager
Обновление сертификатов Nova Container Platform, выпущенных в Secrets Manager, выполняется администратором кластера с помощью утилиты nova-ctl
.
Процесс обновления затрагивает только серверные и клиентские сертификаты узлов платформы. Обновление сертификатов корневых центров в настоящий момент не поддерживается и находится в разработке. |
В процессе обновления сертификатов на мастер-узлах платформы выполняется перезапуск следующих сервисов:
-
Сервер Kubernetes API
-
Сервер Kubernetes Controller Manager
-
Сервер Kubernetes Scheduler
-
Компоненты CNI
-
Kubelet
На инфраструктурных и рабочих узлах выполняется перезапуск следующих сервисов:
-
Компоненты CNI
-
Kubelet
В ходе перезапуска данных сервисов может наблюдаться кратковременная недоступность компонентов Nova Container Platform. |
Необходимые условия
-
У вас есть закрытый ключ SSH на вашем локальном компьютере, который нужно предоставить утилите
nova-ctl
. -
У вас есть токен доступа к хранилищу секретов Secrets Manager с привилегиями
root
.
Процедура
Для обновления сертификатов выполните следующую команду:
nova-ctl certs renew --ssh-user ec2-user --ssh-key key.pem
В качестве аргументов |
Пример
$ nova-ctl certs renew --ssh-user ec2-user --ssh-key key.pem
Are you sure you want to renew all the certificates in the cluster? (yes/no) [no] yes
Enter Vault root token: ******************
■ Setting up secrets store access... done
■ Renewing certificates on master-nova-internal... done
■ Renewing certificates on infra-nova-internal... done
■ Renewing certificates on worker-nova-internal... done
■ Downloading new Kubernetes configuration...... done
All certificates are renewed.
New Kubernetes client configuration is saved to kubeadmin.conf.
2. Обновление сертификатов, выпущенных в Cert-Manager
Обновление сертификатов Nova Container Platform, выпущенных в Cert-Manager, может быть выполнено принудительно администратором кластера с помощью утилиты kubectl
.
Для принудительного обновления любого сертификата необходимо удалить секрет, в котором сохранены данные сертификата. Cert-Manager автоматически перевыпустит сертификат и сохранит его в секрет с прежним именем.
Процедура
Для принудительного обновления сертификата выполните следующую команду:
kubectl get certificate custom-dynamic-cert -n custom-namespace -o=jsonpath='{.spec.secretName}' | xargs kubectl delete secret -n custom-namespace
где custom-dynamic-cert
- имя вашего сертификата, custom-namespace
- имя пространства имен (namespace), в котором находится ваш сертификат.