Изменение IP-адреса кластера Kubernetes

У меня есть одноузловой кластер Kubernetes, которому нужно изменить IP. Я вижу, что текущий IP находится во многих конфигурационных файлах, что не является большой проблемой. Более серьезная проблема заключается в том, что когда я изменил адрес, у меня возникла ошибка, что сертификат действителен только для старого IP, а не для нового.

Как я должен выполнить изменение? Я предполагаю, что могу изменить IP в конфигурационных файлах на DNS-распознаваемое имя хоста, тогда конфигурации будут действительны для обоих IP. Можно ли перегенерировать сертификат для имени хоста, чтобы он работал независимо от IP?

Edit:

Я нашел команду для перегенерации сертификата:

kubeadm alpha phase certs selfsign --apiserver-advertise-address=0.0.0.0 --cert-altnames=10.161.233.80 --cert-altnames=114.215.201.87

К сожалению, она не работает:

Error: unknown flag: --apiserver-advertise-address

Я также попытался выполнить эти команды:

sudo mv /etc/kubernetes/pki /etc/kubernetes/pki_bak
sudo kubeadm init phase certs all

Она воссоздала сертификаты с правильным ip-адресом, но в /etc/kubernetes/admin.conf все еще неверный. Любой kubectl --kubeconfig=/etc/kubernetes/admin.conf без --insecure-skip-tls-verify не работает. То же самое для kubeadm config view:

sudo kubeadm config view --v=5
I0330 04:32:11.754422   21907 config.go:296] [config] retrieving ClientSet from file
I0330 04:32:11.769423   21907 config.go:400] [config] getting the cluster configuration
Get https://10.202.91.41:6443/api/v1/namespaces/kube-system/configmaps/kubeadm-config: x509: certificate is valid for 10.96.0.1, 10.202.91.129, not 10.202.91.41

Конфигурация моего кластера довольно распределенная, поэтому я хотел бы избежать необходимости воссоздавать кластер с нуля, поскольку сделать это будет довольно сложно.

В настоящее время я использую версию 1.16.

Edit2:

Я удалил файл admin.conf и выполнил команду kubeadm init phase kubeconfig admin. Она воссоздала admin.conf, но снова с неправильным сертификатом.

-1
задан 31 March 2021 в 11:09
1 ответ

Следующие шаги из этой статьи помогли: https://blog.scottlowe.org/2019/07/30/adding-a-name-to-kubernetes-api-server-certificate/

0
ответ дан 24 April 2021 в 03:04

Теги

Похожие вопросы