You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GKE Gateway API:如何控制默认防火墙规则的开放端口

针对GKE Gateway API防火墙端口限制的解决方案

一、通过Gateway配置精准控制开放端口

GKE的gke-l7-rilb Gateway类默认生成全端口防火墙规则,是为了兼容后续关联的所有路由可能用到的端口。要限制开放范围,最直接的方式是显式定义Gateway的监听端口:

在Gateway资源中明确指定listeners的端口和协议,GKE会自动根据这些配置调整防火墙规则,仅开放你定义的端口,不再使用0-65535全范围。示例配置:

apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: custom-gateway
spec:
  gatewayClassName: gke-l7-rilb
  listeners:
  - name: http-traffic
    port: 80
    protocol: HTTP
  - name: https-traffic
    port: 443
    protocol: HTTPS
    tls:
      mode: Terminate
      certificateRefs:
      - name: my-ssl-cert

配置生效后,GKE会自动更新对应的防火墙规则,仅开放80和443端口。

二、禁用自动防火墙规则并自定义(需谨慎操作)

如果需要完全自主控制防火墙规则,可以通过注解禁用GKE的自动管理:

  1. 在Gateway资源中添加注解networking.gke.io/manage-firewall-rules: "false",阻止GKE自动创建或更新防火墙规则:
apiVersion: gateway.networking.k8s.io/v1
kind: Gateway
metadata:
  name: self-managed-gateway
  annotations:
    networking.gke.io/manage-firewall-rules: "false"
spec:
  gatewayClassName: gke-l7-rilb
  listeners:
  - name: http-traffic
    port: 80
    protocol: HTTP
  1. 手动创建自定义防火墙规则:指定源地址为Google负载均衡器范围及代理子网,仅开放你需要的端口,确保规则优先级合理,覆盖流量需求。

注意:禁用自动管理后,后续Gateway监听端口变更时,必须手动更新防火墙规则,否则会导致流量中断。同时要严格遵循GKE负载均衡的访问要求,避免集群出现异常。

三、高优先级允许规则替代方案

如果不想禁用GKE自动规则,可以创建优先级更高的允许规则(GKE自动规则优先级通常为1000,你可以设为500),仅开放指定端口。由于防火墙规则按优先级匹配(数字越小优先级越高),流量会先匹配你的自定义允许规则,全端口的自动规则会被忽略,以此实现端口限制的效果,同时保留GKE自动规则,降低集群异常风险。

内容的提问来源于stack exchange,提问作者Aamir Five

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 14:54:57