更改 Kubernetes 集群 IP 地址

更改 Kubernetes 集群 IP 地址

我有一个单节点 Kubernetes 集群,需要更改 IP。我看到当前 IP 位于许多配置文件中,这不是什么大问题。更大的问题是,当我更改地址时,出现错误,证书仅对旧 IP 有效,对新 IP 无效。

我应该如何进行更改?我假设我可以将配置文件中的 IP 更改为 DNS 可识别的主机名,这样配置对两个 IP 都有效。是否可以为主机名重新生成证书,以便无论 IP 如何,它都可以正常工作?

编辑:

我找到了重新生成证书的命令:

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 版本。

编辑2:

我已删除该admin.conf文件并运行kubeadm init phase kubeconfig admin命令。它重新创建了该文件,admin.conf但证书又错误了。

答案1

相关内容