При повторном развертывании кластера Kubernetes как сохранить действующие сертификаты клиентов?

Мы хотим иметь возможность повторно развернуть наш кластер Kubernetes в любое время, в качестве экстренной меры, когда все идет не так, или в качестве простого способа обновления до новой версии Kubernetes. Мы делаем это с нуля; в частности, удален / etc / kubernetes. Но это заставляет нас впоследствии распространять новые пользовательские сертификаты. Однако текущие должны оставаться в силе.

Как мы это делаем? Хранить некоторые файлы в / etc / kubernetes (конечно, не все) и копировать их обратно в кластер? Если да, то какие файлы? И скопировать их до или после kubeadm init звонка? Или лучше использовать один из аргументов, связанных с сертификатом, для kubeadm?


person Torsten Bronger    schedule 25.03.2020    source источник


Ответы (1)


Вы можете хранить все сертификаты в другом каталоге, чем каталог по умолчанию /etc/kubernetes/pki. Вы делаете это перед запуском kubeadm init. Теперь при запуске kubeadm init укажите этот каталог с помощью флага --cert-dir или поля CertificDir в ClusterConfiguration kubeadm.

Альтернативный вариант - пропустить создание сертификата и конфигурации, указав --skip-phases=certs,kubeconfig в kubeadm init.

В какой-то момент срок действия сертификатов истечет, и вы сможете продлить их kubeadm alpha certs renew

https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/

person Arghya Sadhu    schedule 25.03.2020
comment
А как насчет сертификатов в файлах .conf, например admin.conf? Их тоже не нужно восстанавливать? - person Torsten Bronger; 25.03.2020
comment
Файлы .conf не нужно изменять, если сертификат CA не был регенерирован ... поэтому, если вы последуете одному из подходов, клиенты, использующие файлы conf, будут продолжать работать - person Arghya Sadhu; 25.03.2020
comment
Все /etc/kubernetes/*.conf файлы (YAML) содержат клиентские ключи и сертификаты. Значит, в дополнение к pki/ мы должны оставить их? - person Torsten Bronger; 25.03.2020
comment
да, вы должны оставить их или пропустить и эту фазу - person Arghya Sadhu; 25.03.2020