Docker 网段冲突

一、发现问题

网络情况描述:项目因各种因素影响,有一部分服务部署在政府网机房,我们项目组的Rancher+ k8s + docker 集群搭建在政务外网;在跟当地其他业务系统对接时,有部分系统在政务内网,调试接口时,发现网络不通。

telnet命令无反应。

 

排查发现是网段问题:

查看本地ip如下:政务外网网卡eth0的网段为 10.150.0.1/24

docker默认创建的docker0虚拟网卡的网段172.17.0.1/16

Docker 网段冲突_第1张图片

 

而此时政务网对外出的网段:172.17.0.1/16

二、解决问题

1、发现问题后,思考了一下,只要我更换docker的网段不就可以了,对此进行了科学百度。

2、存在的顾虑:目前我这里是生产集群,进行更换网段肯定需要重启docker,对于集群的稳定是否有影响;对此顾虑搭建了测试环境进行了测试,更改后,重启后正常使用;

3、解决方法如下:

a.首先关闭docker,同时关闭socker和service

# 停止 docker 服务
sudo systemctl stop docker.socket
sudo systemctl stop docker.service

b.更改/etc/docker/daemon.json

vim /etc/docker/daemon.json
{
   "bip":"172.19.0.1/16"
}

c.重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker.service

4.具体实现

因生产集群一直在使用,所以只对于worker角色的机器进行了更改和重启;

首先将当前机器上所有部署的业务容器服务进行迁移到其他机器;

然后对当前机器docker 如上诉步骤进行修改和重启;

查看集群状态,完成后,切换下一个机器操作;

最后,把各个服务,进行重新均衡部署

你可能感兴趣的:(docker,docker,运维,容器)