在EKS上实施K8s网络策略

时间:2019-12-18 10:07:56

标签: kubernetes kubernetes-networkpolicy

我有一个用例,需要允许从LoadBalancer子网到Web服务的传入流量,但限制其他Pod访问Pod。

通常,如果我将K8与Flannel / Weave或类似的CNI一起使用,则CIDR将不同于VPC的实际网络,因此我可以使用以下示例: https://stackoverflow.com/a/54281975/11949720

但是,由于我使用的是EKS,因此VPC-CNI为Pod提供了与VPC和其他主机相同的子网,因此将Loadbalancer子网列入白名单也将Pod子网列入白名单,因此该集群中的任何Pod都将能够访问裸露的吊舱。

apiVersion: extensions/v1beta1
kind: NetworkPolicy
metadata:
  name: managment-access
  namespace: frontend-layer
spec:
  ingress:
    - ports:
      - port: 9090
      from:
        - podSelector:
            matchLabels:
              type: collectors
        - ipBlock:
            cidr: 172.31.64.0/20
        - ipBlock:
            cidr: 172.31.80.0/20
        - ipBlock:
            cidr: 172.31.48.0/20

  podSelector:
    matchLabels:
      app.kubernetes.io/name: managment

  policyTypes:
    - Ingress

我知道我可以重新配置EKS以对吊舱使用自定义网络,它可能会解决此问题,但是,我希望找到一个更不可知的解决方案,因为我的猜测是即使使用AKS-CNI,它也会是同样的问题。

0 个答案:

没有答案