上篇文章中用 ip link add name br0 type bridge 创建网桥重启之后就消失了。下面以网络设备文件的形式持久化这个网桥。
添加网桥设备文件
[devops@192 ~]$ touch /etc/sysconfig/network-scripts/ifcfg-br0
配置网桥
[devops@192 ~]$ cat /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
BOOTPROTO=static
IPADDR=192.168.1.10
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.1
NM_CONTROLLED=no
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
DEVICE=br0
ONBOOT=yes
[devops@192 ~]$
把网卡挂到网桥 把 em1 网卡 IP 地址配置的部分注释掉,并加入 BRIDGE=br0。
[devops@192 ~]$ cat /etc/sysconfig/network-scripts/ifcfg-em1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
IPV6_PRIVACY=no
NAME=em1
UUID=48f1a196-a6ff-4966-8b93-fb0d7b707e47
DEVICE=em1
ONBOOT=yes
#BOOTPROTO=static
#IPADDR=192.168.1.10
#PREFIX=24
#GATEWAY=192.168.1.1
#DNS1=192.168.1.1
NM_CONTROLLED=no
#BRIDGE=br0
[devops@192 ~]$
查看当前主机路由 及 网桥接口
[devops@192 ~]$ route -v
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.1.1 0.0.0.0 UG 0 0 0 br0
link-local 0.0.0.0 255.255.0.0 U 1002 0 0 em1
link-local 0.0.0.0 255.255.0.0 U 1004 0 0 br0
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
192.168.122.0 0.0.0.0 255.255.255.0 U 0 0 0 virbr0
[devops@192 ~]$
[devops@192 ~]$
[devops@192 ~]$ brctl show
bridge name bridge id STP enabled interfaces
br0 8000.1866daa0cb22 no em1
virbr0 8000.5254002a0526 yes virbr0-nic
[devops@192 ~]$
重启网络服务
sudo systemctl restart network
如果再重启网络失败,出现这样的错误 Failed to start LSB: Bring up/down networking。需要检查一下 /etc/sysconfig/network-scripts/ 下面的网络接口文件定义的是不是有问题。我这里因为有双网卡,其中一个的配置出现问题,导致网络服务启动失败。
创建使用 br0 的虚拟机们
有了上面的网桥 br0,我们就可以通过下面的命令分分钟创建出使用网桥 br0 的三台虚拟机。
ansible-playbook ./virt-infra.yml \
--limit kvmhost,k8shosts \
-e virt_infra_root_password=password \
-e virt_infra_disk_size=100 \
-e virt_infra_ram=4096 \
-e virt_infra_ram_max=8192 \
-e virt_infra_cpus=8 \
-e virt_infra_cpus_max=16 \
-e '{ "virt_infra_networks": [{ "name": "br0", "type": "bridge" }] }' \
-e virt_infra_state=running
登录到创建出来的 k8s_host 虚拟机 ping 局域网及 internet 网络都是通的,证明 br0 桥接工作正常。
以后,我们就可以基于这些虚拟机来折腾 K8S 了。。。