k8s集群换IP

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,可以访问

再看看上面部署的服务,也可以访问

结束

相关推荐
我头发多我先学38 分钟前
linux系统编程:初识进程
linux·运维·服务器
云飞云共享云桌面1 小时前
SolidWorks—天津智能装备工厂1台高配主机共享给10个研发用
运维·服务器·自动化·汽车·制造
苍狗T1 小时前
LVS相关知识总结
linux·运维·服务器·lvs
雨辰AI1 小时前
K8s人大金仓主从高可用搭建|容器化集群自动同步+故障切换(生产完整版)
云原生·容器·kubernetes
纵有疾風起2 小时前
从OSI到TCP/IP——分层架构的思想根源与模型之争
tcp/ip·计算机网络·架构·osi·408·体系结构·分层
我星期八休息2 小时前
扩展— TCP 全连接队列与 tcpdump 抓包
linux·服务器·开发语言·前端·网络·tcp/ip·tcpdump
各类产品分享2 小时前
什么是AR智慧运维系统,主要能解决什么问题
运维·ar·ar智慧运维解决方案
RisunJan3 小时前
Linux命令-skill(发送信号给进程)
linux·运维·服务器
潘正翔3 小时前
k8s基础_kubeadm搭建k8s集群
linux·运维·docker·云原生·容器·kubernetes
Echo flower3 小时前
Docker 容器中 Puppeteer 僵尸进程排查与修复
运维·docker·容器·puppeteer