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

如何配置Kubernetes网络策略以允许Ingress及VM流量访问容器

解决方案

要满足你的需求——保留原有同网段容器的443访问权限,同时允许VM经Ingress转发的流量到达Pod,你需要在现有NetworkPolicy的ingress部分添加额外规则,具体分两种常见场景处理:

场景1:Ingress Controller默认SNAT(集群内转发)

默认情况下,Ingress Controller会对转发到后端Pod的流量做SNAT,Pod接收到的流量源IP是Ingress Controller自身的Pod IP。这种情况下,你可以通过标签选择器放行Ingress Controller的Pod访问:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  labels:
    env: dev
    namespace: big-calculator-dev
  name: big-calculator-dev
  namespace: big-calculator-dev
spec:
  ingress:
  # 原有规则:允许同网段容器的443端口访问
  - from:
    - ipBlock:
        cidr: 172.18.0.0/21
    ports:
    - port: 443
      protocol: TCP
  # 新增规则:允许Ingress Controller的Pod访问(替换为你的Ingress实际标签/命名空间)
  - from:
    - namespaceSelector:
        matchLabels:
          kubernetes.io/metadata.name: kube-system  # 假设Ingress部署在kube-system命名空间
      podSelector:
        matchLabels:
          app: nginx-ingress  # 替换为你的Ingress Controller的Pod标签
    ports:
    - port: 443
      protocol: TCP
  podSelector: {}
  policyTypes:
  - Ingress

场景2:Ingress保留源IP(VM直接IP可见)

如果你的Ingress配置了源IP透传(比如启用hostNetwork: true、Proxy Protocol,或者使用云厂商负载均衡的源IP保留功能),Pod能直接看到发起请求的VM IP(10.194.65.4),这种情况直接添加VM的IP到允许列表即可:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  labels:
    env: dev
    namespace: big-calculator-dev
  name: big-calculator-dev
  namespace: big-calculator-dev
spec:
  ingress:
  # 原有规则:允许同网段容器的443端口访问
  - from:
    - ipBlock:
        cidr: 172.18.0.0/21
    ports:
    - port: 443
      protocol: TCP
  # 新增规则:允许VM的IP访问
  - from:
    - ipBlock:
        cidr: 10.194.65.4/32
    ports:
    - port: 443
      protocol: TCP
  podSelector: {}
  policyTypes:
  - Ingress

注意事项

  • 不确定Ingress Controller的标签或命名空间?执行kubectl get pods -A -l <你的Ingress标签>就能查到,比如默认NGINX Ingress的标签是app=nginx-ingress;
  • 两种场景二选一即可,根据你的Ingress实际配置决定;
  • 新增规则和原有规则是逻辑或的关系,满足任意一条规则的流量都能被放行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 13:05:27