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

如何配置NetworkPolicy出口白名单且不影响Apache Ignite启动

问题根因

你遇到的启动失败核心是2个必要egress流量被拦截:

  1. Kubernetes APIServer访问被拦截:TcpDiscoveryKubernetesIpFinder需要调用K8s APIServer的HTTPS接口(默认443端口),查询当前Namespace下带指定标签的Ignite Pod列表,你之前的所有egress规则都没有放行该流量,直接触发查询超时。
  2. DNS规则不严谨:仅放开53端口未指定目标Pod的规则,在多数CNI实现中不会实际生效,必须明确匹配DNS服务所在的Namespace和Pod标签。

你提到的localhost访问失败是表象,K8s NetworkPolicy默认不会过滤Pod本地loopback接口流量,该报错是APIServer访问失败后的连锁异常。


最小权限Egress配置

保留你原有的deny-all-traffic-in-cache-ns全局拒绝规则,替换egress规则为以下配置即可:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: netpol-cache-ns-egress
  namespace: cache-ns
spec:
  policyTypes:
  - Egress
  podSelector:
    matchLabels:
      app: ignite
  egress:
  # 放行DNS查询,明确指向kube-system下的CoreDNS/KubeDNS服务
  - to:
    - namespaceSelector:
        matchLabels:
          zone: kube-system
      podSelector:
        matchLabels:
          k8s-app: kube-dns
    ports:
    - protocol: UDP
      port: 53
    - protocol: TCP
      port: 53
  # 放行到K8s APIServer的访问,替换为你集群实际的APIServer ClusterIP
  # 执行kubectl get svc kubernetes -n default即可获取该IP
  - to:
    - ipBlock:
        cidr: 10.96.0.1/32
    ports:
    - protocol: TCP
      port: 443
  # 放行Ignite节点间通信,单节点场景可选,后续扩容集群必须
  - to:
    - podSelector:
        matchLabels:
          app: ignite
    ports:
    - protocol: TCP
      port: 47100
    - protocol: TCP
      port: 47500
  # 如需Ignite主动回调业务服务,可在此处添加对应Namespace和端口的放行规则

简化合规方案

如果审计允许仅限制公网出口,你可以直接放行所有集群内网私有地址段,既能满足防止连接C&C服务器的要求,配置也更简单无需维护固定IP:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: netpol-cache-ns-egress
  namespace: cache-ns
spec:
  policyTypes:
  - Egress
  podSelector:
    matchLabels:
      app: ignite
  egress:
  - to:
    # 放行所有RFC1918私有内网地址,自动覆盖APIServer、DNS、节点间通信
    - ipBlock:
        cidr: 10.0.0.0/8
    - ipBlock:
        cidr: 172.16.0.0/12
    - ipBlock:
        cidr: 192.168.0.0/16

其他问题说明

你看到的双IP地址提示是因为Ignite默认绑定了所有网卡地址,可在Ignite配置中添加环境变量IGNITE_LOCAL_HOST=$(POD_IP),指定绑定Pod的内网IP即可消除该提示,不影响当前业务运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 18:39:03