设置service的nodeport以后外部无法访问对应的端口的问题

设置service的nodeport以后外部无法访问对应的端口的问题
关于Service 设置为NodePort 模式后导致外部无法访问对应的端口问题,查看下node节点上已经出现了30002端口的监听,确保服务器外部安全组等限制已经放行该端口,按照网上搜到的教程配置基本没看到要配置iptables相关的问题。 然后查阅了不少资料才看到docker 1.13 版本对iptables的规则进行了改动,默认FORWARD 链的规则为DROP ,带来的问题主要一旦DROP后,不同主机间就不能正常通信了(kubernetes的网络使用flannel的情况)。

查看下node节点上的iptables规则:

[[email protected] ~]# iptables -L -nChain INPUT (policy ACCEPT)target     prot opt source               destination         KUBE-FIREWALL  all  --  0.0.0.0/0            0.0.0.0/0           Chain FORWARD (policy DROP)target     prot opt source               destination         DOCKER-ISOLATION  all  --  0.0.0.0/0            0.0.0.0/0           DOCKER     all  --  0.0.0.0/0            0.0.0.0/0           ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHEDACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

 iptables 被kubernetes接管后的规则比较多,仔细看下FORWARD 规则就发现了,policy DROP状态,这就导致了我们直接访问node节点的IP加上端口会无法访问容器,问题出在iptables上就好解决了。
临时解决方案,直接设置FORWARD 全局为ACCEPT:

[[email protected] ~]# iptables -P FORWARD ACCEPT[[email protected] ~]# iptables -L -nChain INPUT (policy ACCEPT)target     prot opt source               destination         KUBE-FIREWALL  all  --  0.0.0.0/0            0.0.0.0/0           Chain FORWARD (policy ACCEPT)

这样需要在每台node上执行命令,并且重启node后规则失效;
永久解决方案,修改Docker启动参数,在[Service] 区域末尾加上参数:

[[email protected] ~]# vim /usr/lib/systemd/system/docker.service[Service]............ExecStartPost=/sbin/iptables -I FORWARD -s 0.0.0.0/0 -j ACCEPT[[email protected] ~]# systemctl daemon-reload[[email protected] ~]# systemctl restart docker

由于修改了systemctl 文件,所以需要重新载入,重启docker 就可以看到iptables规则已经加上ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

[[email protected] ~]#  iptables -L -nChain INPUT (policy DROP)target     prot opt source               destination         KUBE-FIREWALL  all  --  0.0.0.0/0            0.0.0.0/0           Chain FORWARD (policy ACCEPT)target     prot opt source               destination         ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0

推荐阅读

    学习写字楼新选择6000元主流配置

    学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e

    酷睿I7 配置

    酷睿I7 配置,配置,玩家国度啦华硕 Rampage II Extreme(3800元)如果米不够,也可以把Extreme改为Gene,不过是小板内存推荐金士顿6G DDR3 2000骇

    提高3A四核羿龙II游戏配置的性能

    提高3A四核羿龙II游戏配置的性能,,以节能环保为主题的IT产业,目前3A低端平台处理器、主板芯片组、独立开发卡性能突出,特别是在与AMD的处理

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    设置证书密码是什么|证书初始密码

    设置证书密码是什么|证书初始密码,,设置证书密码是什么证书密码是可以修改的,可以在企业网银上修改,也可以到银行网点修改。到网点修改要带

    设置里程碑|设置里程碑的方法有哪些

    设置里程碑|设置里程碑的方法有哪些,,1. 设置里程碑的方法有哪些1、通过挑战风险,突破认知,从而突破自我。只有在某些特殊的时刻,比如想法和

    计算机主板BIOS设置详细-BIOS知识

    计算机主板BIOS设置详细-BIOS知识,,什么是电脑BIOS,一般电脑主板已经设置完毕后,电脑就开始按del键进入BIOS。系统启动BIOS,即微机的基本输入