我通过 kubespray 在自己的几台虚拟机上配置了一个 kubernetes 集群。
虚拟机的网络是桥接适配器,kubespray 使用 calico 作为默认网络插件。
不久之前,我切换到了另一个网络,由于路由器的变化,内部 IP 地址也发生了变化。
当我kubectl get nodes
在主节点上运行时,我得到 -
Unable to connect to server : dial tcp <master previous IP>:6443: connect: network is unreachable
此外,虚拟机不会为机器生成新的 IP(- 来自当前路由器)。
我的问题是,我怎样才能更改节点的 IP?
附件是我的笔记本电脑的屏幕截图,显示了 k8s 节点和我想要编辑的列。
(- 该屏幕截图是我通过之前的路由器连接到网络时的截图。)
在此先感谢您的帮助!
答案1
该列INTERNAL-IP
显示您的节点 IP,Kubernetes 不管理此 IP。
建议配置静态IP在设置 Kubernetes 集群之前,请先针对所有节点执行此操作,以避免出现此类问题。
我看到两种选择:
- 设置节点上显示的静态 IP
INTERNAL-IP
,例如:
您的kubectl get nodes
显示node2
为 ip 192.168.43.118
,因此node2
您需要配置此 ip 并重新启动节点。所有节点均执行相同步骤。
- 编辑
--node-ip
节点上的 kubelet 配置以获取新的 IP,请参阅这参考。
参考:
https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/