![更改 Kubernetes 集群 IP 地址](https://linux22.com/image/765046/%E6%9B%B4%E6%94%B9%20Kubernetes%20%E9%9B%86%E7%BE%A4%20IP%20%E5%9C%B0%E5%9D%80.png)
我有一个单节点 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
但证书又错误了。