k8s pod服务对外访问
1、问题描述:在搭建好的k8s集群内创建的容器,只能在其所在的节点上curl可访问,但是在其他任何主机上无法访问容器占用的端口1.1、解决方案1:vim /etc/sysctl.conf找到这一行,放开注释# Uncomment the next line to enable packet forwarding for IPv4net.ipv4.ip_forward=1重...
·
1、问题描述:
在搭建好的k8s集群内创建的容器,只能在其所在的节点上curl可访问,但是在其他任何主机上无法访问容器占用的端口
1.1、解决方案1:
vim /etc/sysctl.conf
找到这一行,放开注释
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
重启主机(必须要重启才能生效)
1.2、解决方案2:
1.2.1、使用iptables打通网络
docker 从 1.13 版本开始,可能将 iptables FORWARD chain的默认策略设置为DROP,从而导致 ping 其它 Node 上的 Pod IP 失败,遇到这种情况时,需要手动设置策略为 ACCEPT:
iptables -P FORWARD ACCEPT
并且把以下命令写入/etc/rc.local文件中,防止节点重启iptables FORWARD chain的默认策略又还原为DROP
sleep 60 && /sbin/iptables -P FORWARD ACCEPT
chmod +x /etc/rc.d/rc.local # 给rc.local文件添加可执行权限
更多推荐
已为社区贡献45条内容
所有评论(0)