事情是这样的… 我在OpenShift (用Kubernetes也是一回事)中安装了mysql ,并创建了NodePort 映射到了Master节点的端口上,但在外网用客户端死活无法连接上。

照着下面都检查了一遍:
检查容器中的端口映射是不是正确,3306映射到外网的31008 –OK
检查mysql的 监听的端口,用户是否开启远程登录权限 —OK
检查防火墙是否开启了对应的端口,发现防火墙是关闭状态,端口也添加了 –OK
检查阿里云是的安全策略是否配置正确 –OK
检查iptables 的端口转发是否配置正确 –OK

我这就很无奈了
在Kubernetes 的Master上装了个mysql-client,从内网访问31008端口,是通的,推测问题在外网这边。

于是…
各种改配置,删iptables,删docker0…都不行
发现一个很奇怪的现象,docker和防火墙不能同时开启…一直以为防火墙关闭了就行,其实问题恰好出在这。

最终尝试了 mask 掉防火墙…虽然我也不知道mask是什么意思

systemctl mask firewalld

但是成功了…

当然我也不知道为什么Docker和Firewall不能同时启动,如果防火墙能正常启动可能就没有这个问题了。

Logo

开源、云原生的融合云平台

更多推荐