0

目前我有一个 GlobalNetworkPolicy 'default-deny' 来限制我的集群中的所有流量,所有入口/出口都设置为拒绝所有()。

我尝试使用“订单”允许某些标签 pod 出现例外情况。当我没有指定“动作”参数以允许所有通信时,该策略有效。虽然如下当我在允许中指定参数时,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

此策略配置正确吗?

4

1 回答 1

0

类型:必须符合规范。您将其设置为 Egress,而您定义了入口规则。

如果您希望 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

于 2019-10-04T19:55:30.353 回答