猿问
下载APP

centos6 中怎么配置kubernetes

centos6 中怎么配置kubernetes


慕函数4003404
浏览 274回答 1
1回答

互换的青春

为了解决跨minion之间Pod的通信问题,我们在每个minion上安装Open vSwtich,并使用GRE或者VxLAN使得跨机器之间Pod能相互通信,本文使用GRE,而VxLAN通常用在需要隔离的大规模网络中。对于Open vSwitch的具体安装步骤,可参考这篇博客,我们在这里就不再详细介绍安装步骤了。安装完Open vSwitch后,接下来便建立minion1和minion2之间的隧道。首先在minion1和minion2上建立OVS Bridge,[root@minion1 ~]# ovs-vsctl add-br obr0接下来建立gre,并将新建的gre0添加到obr0,在minion1上执行如下命令,[root@minion1 ~]# ovs-vsctl add-port obr0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.230.5在minion2上执行,[root@minion2 ~]# ovs-vsctl add-port obr0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.230.4至此,minion1和minion2之间的隧道已经建立。然后我们在minion1和minion2上创建Linux网桥kbr0替代Docker默认的docker0(我们假设minion1和minion2都已安装Docker),设置minion1的kbr0的地址为172.17.1.1/24, minion2的kbr0的地址为172.17.2.1/24,并添加obr0为kbr0的接口,以下命令在minion1和minion2上执行。[root@minion1 ~]# brctl addbr kbr0 //创建linux bridge[root@minion1 ~]# brctl addif kbr0 obr0 //添加obr0为kbr0的接口[root@minion1 ~]# ip link set dev docker0 down //设置docker0为down状态[root@minion1 ~]# ip link del dev docker0 //删除docker0为了使新建的kbr0在每次系统重启后任然有效,我们在/etc/sysconfig/network-scripts/目录下新建minion1的ifcfg-kbr0如下:DEVICE=kbr0ONBOOT=yesBOOTPROTO=staticIPADDR=172.17.1.1NETMASK=255.255.255.0GATEWAY=172.17.1.0USERCTL=noTYPE=BridgeIPV6INIT=no同样在minion2上新建ifcfg-kbr0,只需修改ipaddr为172.17.2.1和gateway为172.17.2.0即可,然后执行systemctl restart network重启系统网络服务,你能在minion1和minion2上发现kbr0都设置了相应的IP地址。为了验证我们创建的隧道是否能通信,我们在minion1和minion2上相互ping对方kbr0的IP地址,从下面的结果发现是不通的,经查找这是因为在minion1和minion2上缺少访问172.17.1.1和172.17.2.1的路由,因此我们需要添加路由保证彼此之间能通信。[root@minion1 network-scripts]# ping 172.17.2.1PING 172.17.2.1 (172.17.2.1) 56(84) bytes of data.^C--- 172.17.2.1 ping statistics ---2 packets transmitted, 0 received, 100% packet loss, time 1000ms[root@minion2 ~]# ping 172.17.1.1PING 172.17.1.1 (172.17.1.1) 56(84) bytes of data.^C--- 172.17.1.1 ping statistics ---2 packets transmitted, 0 received, 100% packet loss, time 1000ms由于通过ip route add添加的路由会在下次系统重启后失效,为此我们在/etc/sysconfig/network-scripts目录下新建一个文件route-eth0存储路由,这里需要注意的是route-eth0和ifcfg-eth0的黑体部分必须保持一致,否则不能工作,这样添加的路由在下次重启后不会失效。为了保证两台minion的kbr0能相互通信,我们在minion1的route-eth0里添加路由172.17.2.0/24 via 192.168.230.5 dev eno16777736,eno16777736是minion1的网卡,同样在minion2的route-eth0里添加路由172.17.1.0/24 via 192.168.230.4 dev eno16777736。重启网络服务后再次验证,彼此kbr0的地址可以ping通,如:[root@minion2 network-scripts]# ping 172.17.1.1PING 172.17.1.1 (172.17.1.1) 56(84) bytes of data.64 bytes from 172.17.1.1: icmp_seq=1 ttl=64 time=2.49 ms64 bytes from 172.17.1.1: icmp_seq=2 ttl=64 time=0.512 ms^C--- 172.17.1.1 ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1002msrtt min/avg/max/mdev = 0.512/1.505/2.498/0.993 ms
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答