Обновление сертификатов платформы
Обновление сертификатов, выпущенных в 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
.
Процедура
Для обновления сертификатов выполните следующую команду:
Примечание
В качестве аргументов --ssh-key
и --ssh-user
укажите информацию, использованную на этапе конфигурации ключевой пары SSH.
Пример
# 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 node-master-hnf8g804.nova-zig4kntx30g3.local... done
■ Renewing certificates on node-worker-zkot1gq2.nova-zig4kntx30g3.local... done
■ Renewing certificates on node-worker-2ufpusql.nova-zig4kntx30g3.local... done
■ Downloading new Kubernetes configuration...... done
All certificates are renewed.
New Kubernetes client configuration is saved to kubeadmin.conf.
Обновление сертификатов, выпущенных в 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), в котором находится ваш сертификат.