EKS GlobalNetworkPolicies默认拒绝,带有pod异常

时间:2019-10-02 20:50:07

标签: amazon-eks project-calico calico

当前,我有一个GlobalNetworkPolicy'default-deny'来限制群集中的所有流量,所有ingress / egress都设置为all()拒绝。

我尝试使用'order'允许某些标签pod的例外。 如果我未指定“操作”参数以允许所有通信,则该策略有效。 尽管如下所示,当我在allow内指定参数时,pod不允许出口流量。

apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: allow-pod-ingress
spec:
  order: 50
  selector: name == 'egresspod'
  types:
  - Egress
  ingress:
  - action: Allow
    protocol: TCP
    source:
      selector: some-pod-label == 'some-pod-label-value'
    destination:
      ports:
      - 80

此政策配置正确吗?

1 个答案:

答案 0 :(得分:0)

类型:必须符合规格。您已将其设置为“出口”,而您定义了入口规则。

如果您希望egresspod接受端口80上的入站流量,请尝试将类型更改为Ingress。 (如果您想实现相反的目标,则将两者都更改为Egress。)

apiVersion: projectcalico.org/v3
kind: GlobalNetworkPolicy
metadata:
  name: allow-pod-ingress
spec:
  order: 50
  selector: name == 'egresspod'
  types:
  - Ingress #Has to match
  ingress:  # With this guy.
  - action: Allow
    protocol: TCP
    source:
      selector: some-pod-label == 'some-pod-label-value'
    destination:
      ports:
      - 80

有关更多信息,请检查以下页面:https://docs.projectcalico.org/v3.7/reference/calicoctl/resources/globalnetworkpolicy