【问题标题】:Kubernetes : How to limit traffic to only two types of pods labeled 'A' and 'B' using a NetworkPolicyKubernetes:如何使用 NetworkPolicy 将流量限制为仅标记为“A”和“B”的两种类型的 Pod
【发布时间】:2021-05-18 20:09:13
【问题描述】:

我有两种类型的 pod A 和 B

Pod 类型 A

apiVersion: v1
kind: Pod
metadata:
  name: A
  labels:
    environment: production
spec:
...

Pod 类型 B

apiVersion: v1
kind: Pod
metadata:
  name: B
  labels:
    environment: production
spec:
...

还有一个 NetworkPolicy(还是不知道使用 podselection 的正确方法)

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: default-deny-all
spec:
  podSelector: {"A", "B"}
  policyTypes:
  - Ingress
  - Egress

问题:如何在 Kubernetes 中使用“NetworkPolicy”定义单个 NetworkPolicy 以将流量限制为仅 A 和 B pod(入口和出口)

使用的参考资料:https://kubernetes.io/docs/concepts/services-networking/network-policies/

【问题讨论】:

标签: kubernetes kubernetes-pod kubernetes-networkpolicy


【解决方案1】:

pod 选择器在labels 上没有or 条件。解决方案是在两个 pod 中创建一个公共标签 - ab,并在该公共标签上使用 pod 选择器。

在您的问题中,您应该使用 environment: production 作为标签来选择正确的 pod。 Pod 选择器适用于 labels 而不是 pod 的 name

【讨论】:

  • 如果您有其他 pod 将匹配 environment: production 并且只希望 pod x、y 和 z 匹配,请创建一个新标签,否则您将匹配具有该标签的所有 pod
猜你喜欢
  • 2021-05-31
  • 2021-12-18
  • 1970-01-01
  • 2017-09-23
  • 2022-11-07
  • 2021-12-21
  • 1970-01-01
  • 2013-10-09
  • 1970-01-01
相关资源
最近更新 更多