0

我有一个 kubernetes 集群,其中控制平面通过其中配置的 keepalived 的 VIP 在 HA 中工作(仅安装在控制节点上)。禁用防火墙后,一切都按预期工作。启用防火墙时,所有内部通信和节点端口的行为不一致。作为一个基本的启动,我已经启用了 kubernetes 所需的某些强制端口,但这对应用程序通信没有帮助。有什么方法或添加任何防火墙规则可以帮助我访问 nodePorts/应用程序服务?

如果我不清楚,这是一个小总结

控制平面 1:172.16.23.110

控制平面 2:172.16.23.111

控制平面 3:172.16.23.112

保活贵宾:172.16.23.116

工作节点:172.16.23.120-23.125

我正在尝试通过 nodePort 访问服务,例如https://172.16.23.116:30443

我在所有节点上添加了防火墙案例(所有节点都是centos7.6)

cat /etc/firewalld/zones/internal.xml

<rule>
    <protocol value="vrrp" />
    <accept />
</rule>

请帮助

4

1 回答 1

1

我不确定,我是否正确理解了问题。

但根据官方文档,您需要打开以下端口:

控制平面节点:

  • TCP 入站 6443*
  • TCP 入站 2379-2380
  • TCP 入站 10250
  • TCP 入站 10251
  • TCP 入站 10252

工作节点:

  • TCP 入站 10250
  • TCP 入站 30000-32767

以下是 Firewalld 的命令示例,取自此处

控制平面节点:

firewall-cmd --permanent --add-port=6443/tcp
firewall-cmd --permanent --add-port=2379-2380/tcp
firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --permanent --add-port=10251/tcp
firewall-cmd --permanent --add-port=10252/tcp
firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --add-masquerade --permanent
# only if you want NodePorts exposed on control plane IP as well
firewall-cmd --permanent --add-port=30000-32767/tcp
systemctl restart firewalld

工作节点:

firewall-cmd --permanent --add-port=10250/tcp
firewall-cmd --permanent --add-port=10255/tcp
firewall-cmd --permanent --add-port=8472/udp
firewall-cmd --permanent --add-port=30000-32767/tcp
firewall-cmd --add-masquerade --permanent
systemctl restart firewalld
于 2020-02-13T13:33:18.850 回答