Kyverno
Kyverno is a cloud-native policy engine. It uses policies written as Kubernetes-style YAML with CEL expressions to validate, change, create, delete, and verify resources before and after they enter a cluster.
itCloud native tools and technologies | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic — Kyverno
Kyverno is a policy engine that waits beside the Kubernetes API server and asks whether a resource request obeys the rules. Kubernetes is deliberately flexible. That is excellent until several teams can all submit YAML to the same cluster, at which point flexibility begins collecting paperwork and opinions.
The important route is short: a resource request reaches the API server, Kyverno receives the matching admission request, and a policy produces a result. A policy is a declarative Kubernetes resource that selects a target and states a condition or action. That selection is the part people underestimate. A policy that is correct for every Deployment is not helpful if it quietly also catches the controller request nobody intended to govern.
The policy types are verbs with a firm work ethic. A ValidatingPolicy checks a condition. A MutatingPolicy changes selected fields. A GeneratingPolicy creates or synchronizes a related resource. Cleanup policy types remove resources only when deletion is intentional and scoped. An ImageValidatingPolicy checks container images and metadata. The trick is choosing the outcome before choosing the syntax; otherwise the YAML begins driving the vehicle.
Kyverno can report results or enforce them. A policy report records matched resources and their status. It does not decide that a request should be blocked, repair an old resource, or settle anyone's acceptable risk. Nor does Kyverno replace Kubernetes authorization. Those are separate responsibilities, which is fortunate because one tool already has plenty of verbs.
Start with the Intro for the admission path and policy types. Use Slides when you want the map of choices. Keep the Cheatsheet nearby for scope and testing anchors. Then use the practice reference and exercise to test a passing and failing manifest with the CLI before a policy meets a live cluster.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://kyverno.io/docs/introduction/
Supports
- Kyverno is a cloud-native policy engine
- policy management purpose
- YAML and CEL policy authoring
- Kubernetes resource management
- policy capabilities
- https://kyverno.io/docs/introduction/how-kyverno-works/
Supports
- dynamic admission controller
- admission webhook request flow
- optional controllers
- resource matching
- CLI evaluation
- https://kyverno.io/docs/policy-types/
Supports
- ValidatingPolicy
- MutatingPolicy
- GeneratingPolicy
- CleanupPolicy
- DeletingPolicy
- ImageValidatingPolicy
- https://kyverno.io/docs/guides/testing-policies/
Supports
- Kyverno CLI test command
- expected results
- continuous integration testing
- https://kyverno.io/docs/subprojects/kyverno-cli/
Supports
- CLI applies policies to resource files or clusters
- apply command
- test command
- https://kyverno.io/docs/guides/reports/
Supports
- policy report role and status reporting
- https://kyverno.io/docs/guides/troubleshooting/
Supports
- broad policy matches increase evaluation load
- https://github.com/kyverno/kyverno
Supports
- Kyverno project history
- https://www.cncf.io/blog/2020/05/28/kyverno-joins-the-cloud-native-computing-foundation-sandbox/
Supports
- CNCF Sandbox acceptance in 2020
- https://github.com/kyverno/kyverno/releases/tag/v1.4.0
Supports
- Kyverno 1.4 release capabilities
- https://release-1-8-0.kyverno.io/docs/installation/
Supports
- Kyverno N-2 Kubernetes compatibility policy
- https://release-1-12-0.kyverno.io/blog/releases/
Supports
- Kyverno 1.8
- 1.9
- and 1.10 release dates and features
- https://release-1-14-0.kyverno.io/blog/2023/11/16/kyverno-1.11-released/
Supports
- Kyverno 1.11 release and CEL validation support
- https://release-1-15-0.kyverno.io/blog/releases/
Supports
- Kyverno 1.12 release date and features
