apiVersion: policy.networking.k8s.io/v1alpha1
kind: AdminNetworkPolicy
metadata:
name: sample-anp-deny-pass-rules (1)
spec:
priority: 50 (2)
subject:
namespaces:
matchLabels:
kubernetes.io/metadata.name: example.name (3)
ingress: (4)
- name: "deny-all-ingress-tenant-1" (5)
action: "Deny"
from:
- pods:
namespaceSelector:
matchLabels:
custom-anp: tenant-1
podSelector:
matchLabels:
custom-anp: tenant-1 (6)
egress:(7)
- name: "pass-all-egress-to-tenant-1"
action: "Pass"
to:
- pods:
namespaceSelector:
matchLabels:
custom-anp: tenant-1
podSelector:
matchLabels:
custom-anp: tenant-1
1 | 为您的 ANP 指定一个名称。 |
2 | spec.priority 字段支持集群中 0-99 范围内的最多 100 个 ANP。值越低,优先级越高,因为范围是从最低值到最高值按顺序读取。由于无法保证在同一优先级下创建的 ANP 中哪个策略优先,因此请设置不同优先级的 ANP,以便优先级是有意的。 |
3 | 指定要应用 ANP 资源的命名空间。 |
4 | ANP 同时具有入口和出口规则。spec.ingress 字段的 ANP 规则为action 字段接受Pass 、Deny 和Allow 值。 |
5 | 为ingress.name 指定一个名称。 |
6 | 指定podSelector.matchLabels 以选择由namespaceSelector.matchLabels 选择的命名空间中的 Pod 作为入口对等体。 |
7 | ANP 同时具有入口和出口规则。spec.egress 字段的 ANP 规则为action 字段接受Pass 、Deny 和Allow 值。 |