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

Azure Kubernetes中Pod间通信限制的Network Policy实现

Kubernetes Network Policy 配置清单

前提说明

假设两个Deployment的Pod标签及对应oauth2反向代理标签如下:

  • myservice1的Pod标签:app: myservice1,对应代理标签:app: oauth-proxy-myservice1
  • myservice2的Pod标签:app: myservice2,对应代理标签:app: oauth-proxy-myservice2

1. 针对 myservice1 的 Network Policy

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: myservice1-network-policy
spec:
  podSelector:
    matchLabels:
      app: myservice1
  policyTypes:
  - Ingress
  - Egress
  # 入站规则:仅允许对应oauth代理的流量接入
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: oauth-proxy-myservice1
  # 出站规则:仅允许访问对应oauth代理,禁止其他所有出站流量
  egress:
  - to:
    - podSelector:
        matchLabels:
          app: oauth-proxy-myservice1

2. 针对 myservice2 的 Network Policy

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: myservice2-network-policy
spec:
  podSelector:
    matchLabels:
      app: myservice2
  policyTypes:
  - Ingress
  - Egress
  # 入站规则:仅允许对应oauth代理的流量接入
  ingress:
  - from:
    - podSelector:
        matchLabels:
          app: oauth-proxy-myservice2
  # 出站规则:仅允许访问对应oauth代理,禁止其他所有出站流量
  egress:
  - to:
    - podSelector:
        matchLabels:
          app: oauth-proxy-myservice2

关键规则说明

  • 同一Deployment内Pod互访限制:通过Egress规则仅允许Pod访问对应代理,阻断了同Deployment内其他Pod的出站请求;同时Ingress规则仅放行代理的入站流量,双向限制实现禁止同Deployment内Pod通信。
  • 不同Deployment间Pod通信限制:两个Network Policy的Ingress/Egress规则仅针对各自的代理,未开放任何来自对方Deployment Pod的流量权限,因此不同Deployment的Pod无法互相通信。
  • 仅允许代理接入请求:Ingress规则明确限定只有对应oauth代理的流量能进入Pod,外部请求必须经过代理认证后才能访问后端服务,满足接入限制要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 08:42:47