GKE拒绝使用网络策略+印花布的声明

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GKE拒绝使用网络策略+印花布的声明相关的知识,希望对你有一定的参考价值。

我正在使用Google Cloud运行托管群集,因此它具有启用NetworkPolicy的选项,并且在后端使用calico。我遇到的问题,看来我只能使用api版本networking.k8s.io/v1

我正在尝试创建将禁止从Pod进行任何内部出口traefik的策略,并允许任何进出外部网络的入口+出口。

使用calico API,它将看起来像这样:

apiVersion: projectcalico.org/v3
kind: NetworkPolicy
metadata:
  name: policy-name
  namespace: namespace-name
spec:
  selector: label == value
  types:
  - Ingress
  - Egress
ingress:
  - action: Allow
    notProtocol: UDP
    destination:
      ports:
      - 53
  - action: Allow
    notProtocol: TCP
    destination:
      ports:
      - 53
  egress:
  - action: Deny
    protocol: UDP
    destination:
      ports:
      - 53
  - action: Deny
    protocol: TCP
    destination:
      ports:
      - 53

或以下政策的否定版本:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: policy-name
  namespace: namespace-name
spec:
  podSelector:
    matchLabels:
      label: value
  policyTypes:
  - Egress
  egress:
  - ports:
    - port: 53
      protocol: UDP
    - port: 53
      protocol: TCP
  - to:
    - namespaceSelector: {}

所以我有2个问题:1.是否可以使用networking.k8s.io/v1 API复制上述规则?2.我可以以某种方式在托管GKE群集上启用projectcalico.org/v3 API吗?

答案

最后花2天后。似乎要从API'projectcalico.org/v3'应用配置,您必须首先安装或部署到群集CLI工具calicoctl。然后,您可以将策略与calicoctl apply -f ./policy.yml一起使用,或者将其部署到集群中,并使用别名alias calicoctl="kubectl exec -i -n kube-system calicoctl /calicoctl -- " + cat ./policy.yml | calicoctl apply -f -

并且下面是有效的政策,它将禁止向专用网络的出口,并且仅允许公共:

apiVersion: projectcalico.org/v3
kind: NetworkPolicy
metadata:
  name: policy-name
  namespace: namespace-name
spec:
  selector: label == value
  types:
  - Egress
  egress:
  - action: Allow
    protocol: UDP
    destination:
      ports: [53]
  - action: Allow
    protocol: TCP
    destination:
      ports: [53]
  - action: Deny
    destination:
      nets:
      - 10.0.0.0/8
      - 172.16.0.0/12
      - 192.168.0.0/16
  - action: Allow

以上是关于GKE拒绝使用网络策略+印花布的声明的主要内容,如果未能解决你的问题,请参考以下文章

使用私有 IP 从不同 VPC 网络中的 GKE 集群连接到 Cloud SQL

域内电脑的本地安全策略-用户权利指派-从网络访问此计算机和拒绝从网络访问此计算机变成灰色的了?怎么办

无法使用自定义网络启动 GKE(Google 容器引擎)集群

k8s学习-CKS真题-网络策略拒绝流量

Unity3d - 因为未找到crossdomain.xml策略文件而被拒绝

httpd的安全策略