如何在kubernetes中阻止来自特定命名空间的流量
我的k8集群中有多个名称空间。我只希望开发名称空间中的pod可以与其他名称空间中的所有其他pod通信,但不应该能够与生产名称空间中的资源通信 我无法找到此场景的文档。有一种否认一切的政策如何在kubernetes中阻止来自特定命名空间的流量,kubernetes,kubernetes-networkpolicy,Kubernetes,Kubernetes Networkpolicy,我的k8集群中有多个名称空间。我只希望开发名称空间中的pod可以与其他名称空间中的所有其他pod通信,但不应该能够与生产名称空间中的资源通信 我无法找到此场景的文档。有一种否认一切的政策 --- apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: default-deny-egress spec: podSelector: {} policyTypes: - Egress - Ingress
---
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: default-deny-egress
spec:
podSelector: {}
policyTypes:
- Egress
- Ingress
但它适用于同一名称空间中的pod级别。我如何修改它以满足我的要求 从文档中引用
environment=dev
environment=prod标记生产环境中的所有名称空间
environment=prod
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: access-nginx
spec:
podSelector: {}
ingress:
- from:
- namespaceSelector:
matchLabels:
environment: "prod"
参考文件
environment=dev
environment=prod标记生产环境中的所有名称空间
environment=prod
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: access-nginx
spec:
podSelector: {}
ingress:
- from:
- namespaceSelector:
matchLabels:
environment: "prod"
我已经看到了nameSelector可以在这个场景中使用的东西。但是找不到任何示例。我已经看到了一些可以在这个场景中使用的名称选择器。但是我找不到任何例子。所以我猜政策是一种只允许,不允许的就被拒绝。如果我还有3个名称空间要允许访问,我还需要使用名称选择器添加它们;他们接受来自任何来源的流量。我已经看到了nameSelector可以在这个场景中使用的东西。但是找不到任何示例。我已经看到了一些可以在这个场景中使用的名称选择器。但是我找不到任何例子。所以我猜政策是一种只允许,不允许的就被拒绝。如果我还有3个名称空间要允许访问,我还需要使用名称选择器添加它们;他们接受来自任何来源的流量