k8s集群搭建及节点加入时需要确定IP,但安装完成后设备移动到新环境可能出现网段更换或者IP被占用的情况,导致无法ping通节点或者无法打开原IP的服务。
解决方法为保持原有IP不更换,给网卡再加一个IP
这边使用两个ubuntu虚拟机模拟服务器和window主机模拟客户机
|------------|---------------|
| 机器 | IP |
| ubuntu虚拟机1 | 192.168.1.121 |
| ubuntu虚拟机2 | 192.168.1.122 |
| windows | 192.168.1.135 |
如图:
k8s集群已经在两台虚拟机上搭建完毕,使用客户机浏览器访问一下kubesphere
验证一下在上面开启的服务是否能访问
验证完毕,集群正常
然后服务器模拟搬到新环境,新环境需要的网段为172.20.10.*,但两个原IP为192.168.1.121和192.168.1.122的k8s因为IP问题将无法使用。所以需要给服务器的网卡设置第二个IP,让网络互通。预计更改如下:
|------------|------------------------------|
| 机器 | IP |
| ubuntu虚拟机1 | 192.168.1.121=>172.20.10.12 |
| ubuntu虚拟机2 | 192.168.1.122=>172.20.10.13 |
| windows | 172.20.10.11 |
如图:
接下来要对两个ubuntu网络进行更改,两台服务器分别输入
cd /etc/netplan
ls
查看到网络配置文件为:
修改配置文件:
vi 00-installer-config.yaml
虚拟机1原本IP为192.168.1.121,在原本的基础上修改为,设置两个IP:
# This is the network config written by 'subiquity'
network:
ethernets:
ens33:
addresses: [192.168.1.121/24,172.20.10.12]
gateway4: 172.20.10.1
nameservers:
addresses:
- 114.114.114.114
- 8.8.8.8
search: []
version: 2
同理虚拟机2原本IP为192.168.1.122,在原本的基础上修改为,设置两个IP:
# This is the network config written by 'subiquity'
network:
ethernets:
ens33:
addresses: [192.168.1.122/24,172.20.10.13/24]
gateway4: 172.20.10.1
nameservers:
addresses:
- 114.114.114.114
- 8.8.8.8
search: []
version: 2
记得gateway4网关改成新IP的
改完后生效一下:
netplan apply
再看一下两个机器的IP
已经有两个IP了
但是客户机ping不通
这边要改一下虚拟机NAT网络的地址,当然正式环境服务器不是虚拟机就不需要这些操作了
我这边用的是VMware虚拟机软件,点击编辑-虚拟网络编辑器
然后点击更换配置
选择NAT模式,修改下面的子网为新环境的,所以我这边设置172.20.10.0
然后点击应用,打开终端再ping一下。通了
打开浏览器用新IP访问一下kubesphere,可以访问
再看看上面部署的服务,也可以访问
结束