All Policies
Restrict Node Affinity
Pods may use several mechanisms to prefer scheduling on a set of nodes, and nodeAffinity is one of them. nodeAffinity uses expressions to select eligible nodes for scheduling decisions and may override intended placement options by cluster administrators. This policy ensures that nodeAffinity is not used in a Pod spec.
Policy Definition
/other/restrict-node-affinity/restrict-node-affinity.yaml
1apiVersion: kyverno.io/v1
2kind: ClusterPolicy
3metadata:
4 name: restrict-node-affinity
5 annotations:
6 policies.kyverno.io/title: Restrict Node Affinity
7 policies.kyverno.io/category: Other
8 policies.kyverno.io/severity: medium
9 policies.kyverno.io/subject: Pod
10 kyverno.io/kyverno-version: 1.8.4
11 kyverno.io/kubernetes-version: "1.24"
12 policies.kyverno.io/description: >-
13 Pods may use several mechanisms to prefer scheduling on a set of nodes,
14 and nodeAffinity is one of them. nodeAffinity uses expressions to select
15 eligible nodes for scheduling decisions and may override intended placement
16 options by cluster administrators. This policy ensures that nodeAffinity
17 is not used in a Pod spec.
18spec:
19 background: true
20 validationFailureAction: Audit
21 rules:
22 - name: check-nodeaffinity
23 match:
24 any:
25 - resources:
26 kinds:
27 - Pod
28 validate:
29 message: "Node affinity cannot be used."
30 pattern:
31 spec:
32 =(affinity):
33 X(nodeAffinity): "null"