gpt4 book ai didi

kubernetes - 如何添加防火墙规则以允许通过 kubernetes 中的虚拟 ip 访问节点端口

转载 作者:行者123 更新时间:2023-12-04 19:36:15 27 4
gpt4 key购买 nike

我有一个 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>

请帮助

最佳答案

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

但据官方documentation您需要打开以下端口:

控制平面节点:

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

  • 工作节点:
  • TCP 入站 10250
  • TCP 入站 30000-32767

  • 以下是 Firewalld 的命令示例,取自 here :

    控制平面节点:
    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

    关于kubernetes - 如何添加防火墙规则以允许通过 kubernetes 中的虚拟 ip 访问节点端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60207682/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com