All Policies
Limit Containers per Pod
Pods can have many different containers which are tightly coupled. It may be desirable to limit the amount of containers that can be in a single Pod to control best practice application or so policy can be applied consistently. This policy checks all Pods to ensure they have no more than four containers.
Policy Definition
/other/limit-containers-per-pod/limit-containers-per-pod.yaml
1apiVersion: kyverno.io/v1
2kind: ClusterPolicy
3metadata:
4 name: limit-containers-per-pod
5 annotations:
6 policies.kyverno.io/title: Limit Containers per Pod
7 policies.kyverno.io/category: Sample
8 policies.kyverno.io/minversion: 1.6.0
9 policies.kyverno.io/subject: Pod
10 policies.kyverno.io/description: >-
11 Pods can have many different containers which
12 are tightly coupled. It may be desirable to limit the amount of containers that
13 can be in a single Pod to control best practice application or so policy can
14 be applied consistently. This policy checks all Pods to ensure they have
15 no more than four containers.
16spec:
17 validationFailureAction: Audit
18 background: false
19 rules:
20 - name: limit-containers-per-pod
21 match:
22 any:
23 - resources:
24 kinds:
25 - Pod
26 preconditions:
27 all:
28 - key: "{{request.operation || 'BACKGROUND'}}"
29 operator: AnyIn
30 value:
31 - CREATE
32 - UPDATE
33 validate:
34 message: "Pods can only have a maximum of 4 containers."
35 deny:
36 conditions:
37 any:
38 - key: "{{request.object.spec.containers[] | length(@)}}"
39 operator: GreaterThan
40 value: "4"
yaml