All Policies

Limit Containers per Pod in CEL expressions

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-cel/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 in CEL expressions 7 policies.kyverno.io/category: Sample in CEL 8 policies.kyverno.io/minversion: 1.11.0 9 kyverno.io/kubernetes-version: "1.26-1.27" 10 policies.kyverno.io/subject: Pod 11 policies.kyverno.io/description: >- 12 Pods can have many different containers which 13 are tightly coupled. It may be desirable to limit the amount of containers that 14 can be in a single Pod to control best practice application or so policy can 15 be applied consistently. This policy checks all Pods to ensure they have 16 no more than four containers. 17spec: 18 validationFailureAction: Audit 19 background: false 20 rules: 21 - name: limit-containers-per-pod 22 match: 23 any: 24 - resources: 25 kinds: 26 - Pod 27 operations: 28 - CREATE 29 - UPDATE 30 validate: 31 cel: 32 expressions: 33 - expression: "size(object.spec.containers) <= 4" 34 message: "Pods can only have a maximum of 4 containers."
yaml