Network Policies 列子
时间: 2024-02-22 16:57:49 浏览: 55
以下是一个简单的 Network Policy 的示例,假设我们有两个 Namespace,分别是 default 和 data,我们希望禁止来自 default Namespace 的 Pod 访问 data Namespace 的 Pod,但允许来自相同 Namespace 或者来自其他 Namespace 的特定标签的 Pod 访问:
```yaml
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: deny-access-to-data-namespace
namespace: data
spec:
podSelector:
matchLabels:
app: my-app
policyTypes:
- Ingress
ingress:
- from:
- podSelector: {}
- namespaceSelector:
matchLabels:
name: data
- podSelector:
matchLabels:
access: allowed
```
这个 Network Policy 定义了一个名为 "deny-access-to-data-namespace" 的规则,应用于 data Namespace。它定义了一个名为 "my-app" 的标签选择器,该选择器将选择 data Namespace 中所有具有该标签的 Pod。它还指定了 Ingress 策略类型,并限制了允许从哪些 Pod 或 Namespace 访问这些 Pod。具体来说,它允许来自相同 Namespace 中的所有 Pod 访问,允许来自 Namespace 为 "data" 的所有 Pod 访问,以及允许带有 "access: allowed" 标签的 Pod 访问。所有其他 Pod 将被禁止访问。
阅读全文