永发信息网

docker 可以部署在裸机么

答案:1  悬赏:80  手机版
解决时间 2021-03-31 10:38
  • 提问者网友:送舟行
  • 2021-03-30 14:58
docker 可以部署在裸机么
最佳答案
  • 五星知识达人网友:零点过十分
  • 2021-03-30 15:38
为了解决跨minion之间Pod的通信问题,我们在每个minion上安装OpenvSwtich,并使用GRE或者VxLAN使得跨机器之间Pod能相互通信,本文使用GRE,而VxLAN通常用在需要隔离的大规模网络中。对于OpenvSwitch的具体安装步骤,可参考这篇博客,我们在这里就不再详细介绍安装步骤了。安装完OpenvSwitch后,接下来便建立minion1和minion2之间的隧道。首先在minion1和minion2上建立OVSBridge,[root@minion1~]#ovs-vsctladd-brobr0接下来建立gre,并将新建的gre0添加到obr0,在minion1上执行如下命令,[root@minion1~]#ovs-vsctladd-portobr0gre0--setInterfacegre0type=greoptions:remote_ip=192.168.230.5在minion2上执行,[root@minion2~]#ovs-vsctladd-portobr0gre0--setInterfacegre0type=greoptions: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~]#brctladdbrkbr0//创建linuxbridge[root@minion1~]#brctladdifkbr0obr0//添加obr0为kbr0的接口[root@minion1~]#iplinksetdevdocker0down//设置docker0为down状态[root@minion1~]#iplinkdeldevdocker0//删除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即可,然后执行systemctlrestartnetwork重启系统网络服务,你能在minion1和minion2上发现kbr0都设置了相应的IP地址。为了验证我们创建的隧道是否能通信,我们在minion1和minion2上相互ping对方kbr0的IP地址,从下面的结果发现是不通的,经查找这是因为在minion1和minion2上缺少访问172.17.1.1和172.17.2.1的路由,因此我们需要添加路由保证彼此之间能通信。[root@minion1network-scripts]#ping172.17.2.1PING172.17.2.1(172.17.2.1)56(84)bytesofdata.^C---172.17.2.1pingstatistics---2packetstransmitted,0received,100%packetloss,time1000ms[root@minion2~]#ping172.17.1.1PING172.17.1.1(172.17.1.1)56(84)bytesofdata.^C---172.17.1.1pingstatistics---2packetstransmitted,0received,100%packetloss,time1000ms由于通过iprouteadd添加的路由会在下次系统重启后失效,为此我们在/etc/sysconfig/network-scripts目录下新建一个文件route-eth0存储路由,这里需要注意的是route-eth0和ifcfg-eth0的黑体部分必须保持一致,否则不能工作,这样添加的路由在下次重启后不会失效。为了保证两台minion的kbr0能相互通信,我们在minion1的route-eth0里添加路由172.17.2.0/24via192.168.230.5deveno16777736,eno16777736是minion1的网卡,同样在minion2的route-eth0里添加路由172.17.1.0/24via192.168.230.4deveno16777736。重启网络服务后再次验证,彼此kbr0的地址可以ping通,如:[root@minion2network-scripts]#ping172.17.1.1PING172.17.1.1(172.17.1.1)56(84)bytesofdata.64bytesfrom172.17.1.1:icmp_seq=1ttl=64time=2.49ms64bytesfrom172.17.1.1:icmp_seq=2ttl=64time=0.512ms^C---172.17.1.1pingstatistics---2packetstransmitted,2received,0%packetloss,time1002msrttmin/avg/max/mdev=0.512/1.505/2.498/0.993ms
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯