请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

如果关闭了防火墙,是不是LVS无法转发了?

 目前是这样的情况,我有三台机器,manager,work1,work2,其中swarm和work1防火墙都关闭了,work2开启的,service起了两个,分别在manager和work1上,但是在work2上curl 127.0.0.1:8000不通。。

正在回答

1回答

这个问题比较复杂。您可以做这样一个实验。把实验结果告诉我。

  1. 清理环境,把部署的service,container都清理掉

  2. 把manger,worker1,worker2节点上的防火墙关了

  3. 重启manager, worker1,worker2节点上的docker进程

  4. 然后部署一个service,看看能否curl访问

1 回复 有任何疑惑可以回复我~
  • 提问者 学些什么 #1
    我把三台机器的防火墙都关闭了,然后重新进入终端,重启docker 服务,OK了
    回复 有任何疑惑可以回复我~ 2018-04-10 13:49:16
  • 麦兜搞IT 回复 提问者 学些什么 #2
    嗯,这说明什么问题呢?您可以继续研究一下。其实还是防火墙,或者准确的说,是iptables的问题,docker网络严重依赖iptable的rule,但是如果说,我们在docker或者容器已经运行的情况下,重启防火墙,比如firewalld,那还iptable的rule很可能会丢失,导致docker网络出现严重问题。
    
    所以一般建议,特别是centos环境,要不就直接把firewalld关了,如果起了,那么,最好就别再动他了,比如重启之类的。
    
    以上仅供参考哈,这个问题我也没有去深究,你可以在网上搜搜相关资料,比如stackoverflow,还是有一些问答的很值得去看一下。
    回复 有任何疑惑可以回复我~ 2018-04-10 14:26:23
  • 提问者 学些什么 回复 麦兜搞IT #3
    不同的docker主机之间的通信不是通过防火墙的转发吗,为啥关闭后Ingress网络还是可以使用的
    回复 有任何疑惑可以回复我~ 2018-04-19 20:06:59
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信