GKE Kubernetes网络策略允许其他节点IP

问题描述

我有一个带有2个以上节点的GKE集群(1.16)和一个GKE入口HTTPS负载均衡器。
我正在上面部署几个名称空间。
我想拒绝名称空间之间的所有流量,因此我使用的是here中的配方。
但是,根据此documentation(我的externalTrafficPolicy使用的是认值Cluster

如果externalTrafficPolicy未设置为Local,则网络策略还必须允许来自群集中其他节点IP的连接。

如何在我的NetworkPolicy定义中允许群集中其他节点IP的连接
我当前的定义是:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
Metadata:
  name: foo
spec:
  podSelector:
    matchLabels:
  ingress:
  - from:
    - podSelector: {}
    - ipBlock:
        cidr: 35.191.0.0/16
    - ipBlock:
        cidr: 130.211.0.0/22

解决方法

GKE节点在专用地址空间上进行通信,因此您可以允许10.0.0.0/8(或更具体而言)。