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

K8s集群配置NetworkPolicy未生效 无法拦截Pod流量问题求助

排查步骤

  • 确认集群安装了支持NetworkPolicy的网络插件
    这是最高频的问题,K8s本身不原生实现NetworkPolicy,依赖网络插件支持。默认的flannel、kube-router默认配置都不支持NetworkPolicy,需要切换为Calico、Cilium、Weave Net等原生支持NetworkPolicy的网络插件。你可以执行kubectl get pods -n kube-system查看当前运行的网络插件组件确认。
  • 确认资源处于同一命名空间
    NetworkPolicy是命名空间级别的资源,你当前创建的access-nginx策略仅作用于它所在命名空间下标签为app: nginx的Pod。如果你的busybox测试Pod、nginx Pod和NetworkPolicy不在同一个命名空间,策略不会生效,跨命名空间访问需要在规则中补充namespaceSelector配置。
  • 确认没有其他冲突的NetworkPolicy
    执行kubectl get networkpolicy -A查看集群所有命名空间的NetworkPolicy,确认没有全局放行、或者针对app: nginxPod的更宽松放行规则覆盖了当前策略。
  • 确认Pod标签匹配
    执行kubectl get pods --show-labels确认nginx Pod确实带有app=nginx的标签,避免标签不匹配导致策略根本没绑定到目标Pod。
  • 补充策略类型声明(可选,部分旧版本集群需要)
    部分低版本K8s集群需要显式声明policyTypes才能让策略生效,你可以修改你的NetworkPolicy配置补充该字段:
    apiVersion: networking.k8s.io/v1
    kind: NetworkPolicy
    metadata:
      name: access-nginx
    spec:
      podSelector:
        matchLabels:
          app: nginx
      policyTypes:
      - Ingress
      ingress:
      - from:
        - podSelector:
            matchLabels:
              access: "true"
    
    修改后重新apply再测试即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 04:09:04