Kubernetes 网络策略来过滤命名空间和 pod 的标签

标签 kubernetes

是否可以通过两个命名空间进行过滤 pod 的标签?

文档中的示例位于 https://kubernetes.io/docs/user-guide/networkpolicies/#the-networkpolicy-resource

 - from:
 - namespaceSelector:
    matchLabels:
     project: myproject
 - podSelector:
    matchLabels:
     role: frontend

表示允许与 role=frontend 的 pod 进行通信来自 namespace myproject .

有什么办法可以把那个“或”变成“和”?

最佳答案

Kubernetes 1.11 及更高版本支持将 podSelector 和 namespaceSelector 与逻辑 AND 组合:

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: database.postgres
  namespace: database
spec:
  podSelector:
    matchLabels:
      app: postgres
  ingress:
  - from:
    - namespaceSelector:
        matchLabels:
          namespace: default
      podSelector:
        matchLabels:
          app: admin
  policyTypes:
  - Ingress

在此处查看更多详细信息:https://medium.com/@reuvenharrison/an-introduction-to-kubernetes-network-policies-for-security-people-ba92dd4c809d/#f416

关于Kubernetes 网络策略来过滤命名空间和 pod 的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42228852/

相关文章:

azure - Ingress 不适用于 AKS 的应用程序网关入口 Controller (AGIC) 附加组件

kubernetes - 如何在负载均衡期间检查哪个 Kubernetes pod 正在响应?

kubernetes - 无法 nslookup kubernetes.default

Kubernetes 安全上下文 runAsUser

Kubernetes 卷挂载权限对于 Secret 不正确

kubernetes - 如何在 Kubernetes 中使用 nginx-ingress 正确重定向

kubernetes - 何时何地使用Kubernetes Pod关联性规则

java - 一个简单的 Spring Boot 容器在不发生 OOMKilled 的情况下可以使用的最小最大内存是多少?

dns - Kubernetes:VPN 服务器和 DNS 问题

azure - Azure 中多个子网和/或可用区中的 Kubernetes