如何修改k8s内网ip地址?

如何修改k8s内网ip地址?

我通过 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 集群之前,请先针对所有节点执行此操作,以避免出现此类问题。

我看到两种选择:

  1. 设置节点上显示的静态 IP INTERNAL-IP,例如:

您的kubectl get nodes显示node2为 ip 192.168.43.118,因此node2您需要配置此 ip 并重新启动节点。所有节点均执行相同步骤。

如何在 Ubuntu 上配置静态 IP

如何在 CentOS 上配置静态 IP

  1. 编辑--node-ip节点上的 kubelet 配置以获取新的 IP,请参阅参考。

参考:

https://kubernetes.io/docs/reference/command-line-tools-reference/kubelet/

相关内容