При повторном развертывании кластера Kubernetes, как сохранить действительные сертификаты клиента? - PullRequest
0 голосов
/ 25 марта 2020

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

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

1 Ответ

2 голосов
/ 25 марта 2020

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

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

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

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

...