误删docker0网桥之后怎么办呢?

今天,在搭建k8s node节点环境的时候,好巧不巧,执行了如下命令:

1

2

[root@hxin221 ~]# ifconfig docker0 down &>/dev/null

[root@hxin221 ~]# brctl delbr docker0 &>/dev/null

  妥妥的把docker网桥删除了,不要问我为什么删除它,我只能说当时神游太虚了。

这下子,问题来了,我在k8s创建一个pod的时候,出问题了:

1

test         mywebcalculator-1-0-1-index0         0/1       ImageNotReady   0          4s        [cpu:1/1 memory:268435456/268435456]                    <none>               ***.***.***.221

  嗯,出错了,就查原因了,先查看下docker的状态吧

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

[root@hxin221 ~]# systemctl status docker

● docker.service - Docker Application Container Engine

   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)

  Drop-In: /usr/lib/systemd/system/docker.service.d

           └─flannel.conf

   Active: active (running) since Tue 2018-07-24 14:41:09 CST; 6s ago

     Docs: https://docs.docker.com

  Process: 3887 ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT (code=exited, status=0/SUCCESS)

  Process: 3885 ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT (code=exited, status=0/SUCCESS)

  Process: 3883 ExecStartPost=/usr/sbin/iptables -P FORWARD ACCEPT (code=exited, status=0/SUCCESS)

 Main PID: 3190 (dockerd)

   Memory: 33.5M

   CGroup: /system.slice/docker.service

           ├─3190 /usr/bin/dockerd --bip=10.0.77.1/24 --mtu=1450 --bip=10.0.77.1/24 --mtu=1450 --bip=10.0.77.1/24 --mtu=1450

           ├─3210 docker-containerd -l unix:///var/run/docker/libcontainerd/docker-containerd.sock --metrics-interval=0 --start-timeout 2m --state-dir /var/run/docker/libcontainerd/containerd --shim docker-containerd-shim --runtime docker-runc

           └─5370 docker-containerd-shim fb19c7c56afcc16e3b08977de9be597cb7cf153fafc998717a0449b3d00f9d27 /var/run/docker/libcontainerd/fb19c7c56afcc16e3b08977de9be597cb7cf153fafc998717a0449b3d00f9d27 docker-runc

Jul 24 14:41:08 hxin221 dockerd[3190]: time="2018-07-24T14:41:08.253923793+08:00" level=info msg="Graph migration to content-addressability took 0.00 seconds"

Jul 24 14:41:08 hxin221 dockerd[3190]: time="2018-07-24T14:41:08.254224418+08:00" level=warning msg="mountpoint for pids not found"

Jul 24 14:41:08 hxin221 dockerd[3190]: time="2018-07-24T14:41:08.254460443+08:00" level=info msg="Loading containers: start."

Jul 24 14:41:08 hxin221 dockerd[3190]: time="2018-07-24T14:41:08.273844445+08:00" level=info msg="Firewalld running: false"

Jul 24 14:41:09 hxin221 dockerd[3190]: time="2018-07-24T14:41:09.307222239+08:00" level=info msg="Loading containers: done."

Jul 24 14:41:09 hxin221 dockerd[3190]: time="2018-07-24T14:41:09.322792104+08:00" level=info msg="Daemon has completed initialization"

Jul 24 14:41:09 hxin221 dockerd[3190]: time="2018-07-24T14:41:09.322832435+08:00" level=info msg="Docker daemon" commit=092cba3 graphdriver=devicemapper version=1.13.1

Jul 24 14:41:09 hxin221 dockerd[3190]: time="2018-07-24T14:41:09.332075018+08:00" level=info msg="API listen on /var/run/docker.sock"

Jul 24 14:41:09 hxin221 systemd[1]: Started Docker Application Container Engine.

Jul 24 14:41:12 hxin221 dockerd[3190]: time="2018-07-24T14:41:12.618808849+08:00" level=error msg="Handler for GET /images/registry.wae.haplat.net/test/mywebcalculator:1.0.0/json returned error: No such image: registry.wae.haplat.net/test/mywebcalculator:1.0.0"

  最后一条报错的原因,下载不到,为什么呢?

我又在master上查看了事件:

1

2

[root@wscdn09 ~]# kubectl get events --namespace test

FIRSTSEEN   LASTSEEN   COUNT     NAME                    KIND      SUBOBJECT           REASON      SOURCE                     MESSAGE

1

8s        8s        1         mywebcalculator-1-0-1-index0   Pod                 FailedSync   {kubelet ***.***.***.221}   Error syncing pod, skipping: API error (404): {"message":"failed to create endpoint k8s_POD.8c50e42c_mywebcalculator-1-0-1-index0_test_75e67623-8f0d-11e8-8336-d4bed9aa7cbc_e13625a3 on network bridge: adding interface veth721b28f to bridge docker0 failed: could not find bridge docker0: route ip+net: no such network interface"}

  就是这个原因了,找不到bridge,呵呵了,这个坑可以有,查看ifconfig确认下

1

2

3

4

5

6

7

8

flannel.1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1450

        inet 10.0.77.0  netmask 255.255.0.0  broadcast 0.0.0.0

        inet6 fe80::48ed:42ff:fec3:2cb  prefixlen 64  scopeid 0x20<link>

        ether 4a:ed:42:c3:02:cb  txqueuelen 0  (Ethernet)

        RX packets 6496081  bytes 305348102 (291.2 MiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 4819250  bytes 404274861 (385.5 MiB)

        TX errors 0  dropped 616845 overruns 0  carrier 0  collisions 0

  真没有docker0,只有flannel1.1,既然找不到,找不到就创建一个呗,根据flannel1.1

1

2

[root@hxin221 ~]# docker network create --driver bridge --subnet 10.0.77.1/24 --gateway 10.0.77.1 docker0

Error response from daemon: failed to allocate gateway (10.0.77.1): Address already in use

  (⊙o⊙)…,子网段在用?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

[root@hxin221 ~]#  docker network inspect bridge

[

    {

        "Name""bridge",

        "Id""7cf94d44da578e9ead3aeca12f772ce9bae3c5faedacf870fd4c7da0e33b9d42",

        "Created""2018-07-24T14:45:33.910042834+08:00",

        "Scope""local",

        "Driver""bridge",

        "EnableIPv6"false,

        "IPAM": {

            "Driver""default",

            "Options": null,

            "Config": [

                {

                    "Subnet""10.0.77.1/24",

                    "Gateway""10.0.77.1"

                }

            ]

        },

        "Internal"false,

        "Attachable"false,

        "Containers": {},

        "Options": {

            "com.docker.network.bridge.default_bridge""true",

            "com.docker.network.bridge.enable_icc""true",

            "com.docker.network.bridge.enable_ip_masquerade""true",

            "com.docker.network.bridge.host_binding_ipv4""0.0.0.0",

            "com.docker.network.bridge.name""docker0",

            "com.docker.network.driver.mtu""1450"

        },

        "Labels": {}

    }

]

  好吧,你还真的在,不是已经删除了吗?怎么还在呢?我也不知道那么多了。网上捞了一圈,看到一条有用的信息,反正大家copy来copy去的,也不知道真假,谁都说自己是原创,不管他,先试试;

1

2

3

4

5

6

7

8

9

10

[root@hxin221 ~]# systemctl daemon-reload

[root@hxin221 ~]# systemctl restart docker

[root@hxin221 ~]# ifconfig

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

        inet 10.0.77.1  netmask 255.255.255.0  broadcast 0.0.0.0

        ether 02:42:98:1f:bc:cc  txqueuelen 0  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

  好吧,回来了,可以确定,docker0确实是在 systemctl restart docker 重新启动的时候就会再次检查创建!

以上

误删docker0网桥之后怎么办呢?相关推荐

  1. 修改Docker0网桥默认网段

    背景 Docker 服务启动后默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络. Doc ...

  2. 配置 docker0 网桥

    Docker 服务默认会创建一个 docker0 网桥(其上有一个 docker0 内部接口),它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络. Docker 默认 ...

  3. 除了默认的docker0网桥,启动Docker服务怎么指定使用的网桥

    自定义网桥 除了默认的 docker0 网桥,用户也可以指定网桥来连接各个容器. 在启动 Docker 服务的时候,使用 -b BRIDGE或--bridge=BRIDGE 来指定使用的网桥. 如果服 ...

  4. 服务器br0网桥地址修改 命令,详解修改docker启动默认网桥docker0为自定义网桥

    自定义网桥 除了默认的 docker0 网桥,用户也可以指定网桥来连接各个容器. 在启动 Docker 服务的时候,使用 -b BRIDGE或--bridge=BRIDGE 来指定使用的网桥. 如果服 ...

  5. docker(4)docker的网络,自定义网桥

    Docker 的网络 运行 ifconfig 找到 docker0 : 虚拟网卡默认网卡名称为docker0 查看docker 的网桥: 我这里默认们没有进行安装 网桥管理设备:进行安装一下: yum ...

  6. Docker指定网桥和指定网桥IP

    $ docker network ls NETWORK ID NAME DRIVER 7fca4eb8c647 bridge bridge 9f904ee27bf5 none null cf03ee0 ...

  7. linux虚拟网桥 docker,Docker 使用自定义网桥

    Docker 服务默认会创建一个 docker0 网桥,它在内核层连通了其他的物理或虚拟网卡,这就将所有容器和本地主机都放到同一个物理网络. 用户也可以指定网桥来连接各个容器,步骤如下: 1. 首先安 ...

  8. docker指定网桥和网段

    1. docker指定网桥 docker默认使用docker0网桥,网段为172.17.0.1/24,如果需要我们可以指定使用使用自己定义的网桥. 指定网桥: 首先需要创建使用的网桥 brctl ad ...

  9. docker网络设置(网桥)

    文章目录 一.docker网络模式 二.容器网桥bridge创建过程 三.下载docker镜像(以centos为例),创建centos容器,查看运行容器的IP 四.docker命令创建用户定义的网桥网 ...

最新文章

  1. linspace--创建线性等分向量
  2. 进程间关系和守护进程
  3. TypeError: __init__() got an unexpected keyword argument ‘任意数‘的原因及解决办法
  4. java基础集合操作工具类Collections简述(java集合四)
  5. Linux软件安装的几种方法 (三)—— 源码安装
  6. 解决:“确实允许此网页访问剪贴板吗”
  7. oracle分段分组函数,Oracle增强型分组函数
  8. 深入解析C/C++的优缺点以及就业方向
  9. 拓端tecdat|MATLAB用深度学习长短期记忆 (LSTM) 神经网络对智能手机传感器时间序列数据进行分类
  10. mysql 字段_【MySql】mysql 字段个数的限制
  11. Eclipse安装SVN插件三种方式
  12. Visio 2013画直线问题总结(折线变直,交叉时产生的交叉桥)
  13. 胡昊—第8次作业--继承
  14. 明天太阳照常升起的概率是多少?
  15. 操作系统学习笔记(5. 文件管理)
  16. 用不起!中国移动首个5G套餐确认,最低消费118元!
  17. arcgis两张图层不能同时显示_arcgis如何统一不同坐标的两个图层
  18. PHP 根据QQ号获取QQ头像和昵称
  19. 四足爬行机器人运动_四足爬行机器人步态分析与运动控制
  20. 2022山东大学软件学院软件项目管理期末考试(回忆版)

热门文章

  1. 414. 第三大的数
  2. C语言%.2f四舍五入
  3. 160 - 40 DaNiEl-RJ.1
  4. stl中copy()函数_std :: copy_if()函数以及C ++ STL中的示例
  5. 如何使用两个堆栈实现队列_使用两个队列实现堆栈
  6. librtmp分析(发送数据包处理)
  7. Linux文件属性之r、w、x
  8. 如何在电脑上截屏_如何在电脑上截图?教你6种常用的截图方法,总有你不知道的...
  9. Unknown column '' in 'field list'
  10. 关于异步IO模型的学习