• Home
  • Workshops
  • Services
  • Contact
Mont-Cenis-Straße 399, Herne 44627, Germany
+49 (0) 221 9865099 0
hello@devninjas.io

Workshops

  • Docker Fundamentals
  • Kubernetes Introduction
  • CKAD Exam Prep
  • CKA Exam Prep
  • All Workshops

Services

  • Shogun · Platform Consulting
  • Mamori · Managed Retainer
  • Kensho · Platform Audit

Company

  • Contact
  • Sitemap
2026 • Coded with by DevNinjas
  • Imprint
  • Privacy
  • GTC

Introduction to Kyverno

Which workloads may enter the cluster, which images are trusted, and which standards should apply automatically? Over three days, you turn these requirements into testable Kubernetes policies with Kyverno. You write rules in CEL, check their impact before rollout, and introduce them in stages: observe first, then block deliberately. No previous Kyverno or CEL experience is required.

Share via email
  • Workshop levelIntermediate
  • Satisfied participants2340+
  • Days3
  • LanguageGerman & English
  • Workshop codeDW30

Workshop Details

What makes this workshop stand out

🎯

What you will learn and take away

You build a small, coherent policy repository and verify every rule through visible results:

  • Check rules with defined test cases: You develop a CEL-based ValidatingPolicy, check CREATE and UPDATE cases with kyverno test, read Policy Reports, and test a tightly scoped PolicyException
  • Automate Kubernetes resources within clear boundaries: You add workload defaults, update existing resources, generate a NetworkPolicy, and delete only labeled test objects. GitOps diffs, events, and managedFields expose competing updates; a responsibility matrix defines which system may change each field
  • Verify images and diagnose failures: You distinguish digests, signatures, and attestations, test an ImageValidatingPolicy, add a regression case to CI, and trace a webhook outage through metrics, events, and logs

The versioned repository contains test cases, decision templates, and a rollout checklist. It gives you a verifiable starting point that you can adapt to your platform's architecture, roles, and risks.

💼

Why the investment pays off

Incorrect Kubernetes configurations are often discovered only after they reach the cluster. A blocking rule that is too broad can also reject legitimate changes. The workshop therefore establishes a shared workflow for platform, security, and application teams:

  • Turn requirements into reviewable controls: Platform and security teams express requirements as versioned policies, understandable test cases, and clearly justified exceptions
  • Introduce blocking rules in stages: Test cases and reports show the intended scope and known deviations. Defined success criteria and a documented rollback determine the move from Audit to Deny
  • Clarify ownership of automation: The team decides whether Git, the GitOps controller, or Kyverno manages a field or a generated resource

Groups are limited to eight participants, leaving room for reviews and architecture questions. In corporate training, exercises and decision templates can be adapted to your policy conventions, roles, and approval process. Production access is not required.

📋

Prerequisites

The workshop starts with Kyverno and Policy as Code, not with Kubernetes fundamentals.

Required:

  • Confidence using kubectl and Kubernetes YAML
  • An understanding of Pods, Deployments, Namespaces, labels, and selectors
  • Basic knowledge of RBAC and of namespaced versus cluster-scoped resources
  • Experience with Git branches and the flow of a basic CI job

Not required:

  • Previous Kyverno or CEL experience
  • Rego or OPA Gatekeeper experience
  • Preparation for a Kubernetes certification

The workshop introduces Policy as Code, Kyverno, and CEL from the ground up, but it assumes practical Kubernetes experience. The cluster, repository, registry, and test cases are ready in the DevNinjas Dojo. If kubectl, Pods, and Deployments are still new to you, start with the Kubernetes Fundamentals Workshop. For more practice with RBAC, selectors, and cluster-scoped resources, take the Kubernetes Advanced Workshop.

Workshop Agenda

Your Agenda at a Glance

Hands-on and structured. Every participant works in their own cloud environment. The agenda shows you what to expect each day.

Day 1: Write, test, and introduce Kubernetes policies step by step

5 topics
09:00–10:00💬 Introduction Round

Kubernetes can evaluate certain API requests itself with the CEL expression language. Using an "approved registries only" requirement, you compare a native ValidatingAdmissionPolicy with Kyverno. Two example workloads show where the rule runs and what feedback users receive. A decision table also covers the hybrid option in which Kyverno generates a native policy.

kubernetesKuberneteskyvernoKyverno

CEL is the expression language Kubernetes and Kyverno use to evaluate conditions. You extend a simple rule with safe field access, variables, all, and exists. Test objects with missing or unexpected fields show how the expression behaves on CREATE and UPDATE. A result matrix makes true, false, and evaluation errors easy to distinguish.

12:00–13:00🥪 Lunch Break

A policy is useful only when it targets exactly the intended resources. You complete a ValidatingPolicy with resource matching, a CEL rule, and a clear error message. You then run compliant, rejected, skipped, and UPDATE cases with kyverno test. For the same test cases, you compare the offline result with admission behavior in the cluster. The test overview remains in the repository as evidence.

kyvernoKyverno

Before blocking anything, you need to know which resources a policy would affect and why. You compare new API requests with background checks of existing resources and interpret pass, fail, skip, warn, and error. You document which findings are explained and which need correction before rollout. Policy Reports do not replace a complete history of rejected requests.

An exception needs a reason, an owner, and tightly limited scope. In the training environment, PolicyException is enabled and restricted to one administration namespace. Policy references and match conditions define which requests are actually exempt, and you test matching and non-matching cases. Only then do you move from Audit (observe) to Deny (block) and verify the documented rollback.

16:00–16:30💭 Questions & Answers

Day 2: Update, generate, and selectively delete Kubernetes resources

5 topics
09:00–10:00💭 Questions & Answers

Platform standards are often easier to apply as automatic defaults than to check manually on every deployment. In a MutatingPolicy, you implement a workload default with declarative ApplyConfiguration and compare it with a targeted JSONPatch. Repeated execution, existing values, and conflicting input show whether the mutation remains idempotent and respects configuration owned elsewhere. The verified case remains in the repository as a regression test.

kyvernoKyverno

When Kyverno, a GitOps controller, and a user all change the same field, a continuous conflict can result. You enable the asynchronous mutateExisting function for selected resources and watch GitOps revert the change in the exercise. A GitOps diff and reconciliation events expose the conflict; managedFields supports diagnosis but does not prevent overwrites. You then define field responsibility and RBAC permissions.

12:00–13:00🥪 Lunch Break

New namespaces often need the same baseline resources. With a GeneratingPolicy, you generate a NetworkPolicy from a data definition for clearly labeled namespaces and then include an existing namespace. Changes to the trigger and synchronization show when Kyverno updates, collides, or leaves resources behind. You document which system manages the resource and what happens after removed triggers; a prepared trace compares clone mode.

kyvernoKyverno

Automated deletion requires a known target set. In a disposable namespace, you restrict a DeletingPolicy with opt-in labels and CEL conditions. A separate preflight query lists the same candidates; it is a safety check, not a Kyverno preview. Beyond its base permissions, the cleanup role needs get, list, watch, and delete on target resources. Events and a final inventory verify deletion and preservation.

Some rules need information beyond the current API request. resource.Get and http.Get read data at runtime and can add latency or failure dependencies. globalContext.Get uses a cache whose content may become stale. A decision matrix compares permissions, allowed destinations, authentication, timeouts, and data freshness. You also see when HTTP access must be enabled for namespaced policies. GlobalContextEntry remains experimental, with no stability promise.

16:00–16:30💭 Questions & Answers

Day 3: Verify images, test policies in CI, and diagnose one failure

5 topics
09:00–10:00💭 Questions & Answers

A digest identifies an immutable image. Successful signature verification proves the cryptographic binding to a configured key or identity; an attestation provides additional statements about the build. In a supply-chain example, you classify keys, OIDC-based keyless identities, issuers, subjects, and registry boundaries. A risk-to-control mapping records what identity verification, attestation content, and the subsequent CEL decision each establish.

A valid signature alone is not enough. With prepared images and trust data in a local registry, you complete an ImageValidatingPolicy with guidance. A result matrix separates four cases: correctly signed, unsigned, wrong identity, and a validly signed attestation with disallowed content. You distinguish policy violations from technical failures: validationActions handles violated rules, timeoutSeconds limits the wait, and failurePolicy then determines fail-open or fail-closed behavior.

kyvernoKyverno
12:00–13:00🥪 Lunch Break

Policy changes should not first reveal their problems in a cluster. You pin the Kyverno CLI version in the shared repository and add schema and behavior tests to a CI job. A faulty policy commit stops the pipeline; after the correction, it passes. You record which checks work offline and which still require a cluster.

If the admission webhook becomes completely unavailable, Kubernetes may block legitimate deployments or skip controls. You first define failurePolicy and timeoutSeconds. A prepared fault then makes every webhook endpoint unreachable. You trace the cause through metrics, events, and logs. Recovery through an independent administrator path ends with functional checks for one compliant and one violating request.

kyvernoKyverno

Existing Policy and ClusterPolicy resources do not disappear when the API changes. You move one validation rule to the appropriate CEL-based policy type and run the same test cases before and after migration. When compliant, rejected, skipped, and excepted cases match, the peer review records ownership, observation period, promotion criteria, and the way back.

16:00–16:30💭 Questions & Answers

Our Benefits

All from one hand!

With our high-quality trainings and workshops, you can bring yourself and your team up to date. All this with many benefits that you get from us.

👨‍💻High Practical Content
70% hands-on, 30% theory. You work continuously with real scenarios and take working code home with you. No PowerPoint battles, but directly applicable knowledge for your projects.
☁️Cloud Learning Environment
DevNinjas Dojo: Your own Kubernetes clusters and VMs for each participant in the browser. No installation, works despite VPN/proxy/firewalls. You work with dedicated resources, not in shared environments.
🥷Experienced Trainers
Full-time DevOps engineers and consultants from DevNinjas lead the workshops. Not external trainers, but specialized employees actively working on client projects and sharing real-world experience.
👥Small Groups
Maximum 8 participants per workshop. Everyone gets individual support from the trainer. Your specific questions and use cases get answered, not passed over in anonymous crowds.
🏗️Real-World Scenarios
No toy examples or hello-world demos. You work with production-grade setups: multi-container applications, CI/CD pipelines, monitoring stacks. Directly transferable to your production environments.
🎓Certification
You receive an official certificate of attendance as PDF and a verified LinkedIn badge. Document your professional development for your employer, HR, and recruiters professionally.

Testimonials

How participants experience our trainings

4.9/ 5

1047+ participant reviews · unfiltered

across all DevNinjas trainings

Trainer
5.0
Content
4.8
Hands-on
4.8

DevNinjas overall: over 1,384 participants · 207 companies · 241 workshops

Including BMW, Bundeswehr, Deutsche Bahn and many more.

"My colleagues specifically looked for a sysadmin course for Docker with another provider and had an instructor who only set up an IDE for them and then only worked on a task sheet with development tasks. I had a course with lots of background information, an instructor who had a really extensive knowledge of the whole subject matter beyond the slides, and I feel optimally informed."

Default avatar picture of DevNinjas
Johannes Bernstein
@TRIMET Gelsenkirchen SE

"The advanced Kubernetes workshop at DevNinjas really helped me grow professionally. The content was practical and excellently prepared, so even complex topics like RBAC, network policies and Ingress were conveyed in an understandable and directly applicable way. The deep expertise of the trainer was especially impressive and noticeable in every session. I can recommend this workshop to anyone who wants to use Kubernetes in production!"

Default avatar picture of DevNinjas
Marius Büttner
@Siemens AG

"From my perspective, the workshop had the right speed and an appropriate level of challenge. The subject matter was explained clearly by the instructor and practically consolidated with well-distributed exercises. Adjusting the workshop focus to the participants wishes was not a problem. Valuable practical experiences were shared, and even more specific questions were gladly answered. The instructor's professional expertise and extensive practical experience on the subject gave this workshop a special quality."

Default avatar picture of DevNinjas
S. Kaiser
@forcont business technology GmbH

"The seminar gave a very good overview of Docker administration, with a look at Kubernetes and how this knowledge simplifies everyday work. Many small, easy-to-follow examples with hands-on exercises and a focus on best practice consolidated what we learned. The instructor had an answer to every question, and for very specific questions he came back with a fitting example. The alternation between introductions and exercises was very well organised."

Default avatar picture of DevNinjas
Sebastian A.
@DMI GmbH & Co. KG

"The workshop was very informative and I could immediately spot the mistakes I had made in past Docker projects. Before, I lacked the theory and the fundamentals, so I had only been acting on best practice. Now I can write stable Dockerfiles and Docker Compose setups and secure them properly. A very good workshop that was also a lot of fun!"

Default avatar picture of DevNinjas
Timon Strangfeld

"In the workshop the most important Docker and Kubernetes topics were put together, prepared and explained superbly. The exercises fit precisely and were very well chosen in terms of difficulty. I am very satisfied with how much I learned in the five days and feel well prepared for upcoming tasks at work. Sure, you can teach yourself a lot on your own with AI tools, but without the workshop I would not have gained this overview or worked through so many exercises independently."

Default avatar picture of DevNinjas
Christine L.

"Nico is a very friendly and technically skilled instructor. He answered all questions well. You quickly notice that he combines academic expertise with many years of professional practice."

Default avatar picture of DevNinjas
Philipp van Wickevoort Crommelin
@parcIT GmbH

"The workshop gave me a very good insight into Kubernetes and made working with containers much clearer. Nico delivered the content in a practical and well-structured way, so I could quickly find my way around. The hands-on exercises in particular helped me apply what I learned directly. For anyone looking for a solid introduction to Kubernetes, this workshop is definitely recommended."

Default avatar picture of DevNinjas
Daniel Hagen
@DKB Service GmbH

"I really enjoyed the Docker & Kubernetes workshop at DevNinjas. Nico explained the complex topics around containers and orchestration in a very understandable and practical way. The mix of theory and hands-on exercises was perfect for being able to apply everything directly. I was able to take a lot away for my everyday work and now feel significantly more confident working with Docker and Kubernetes."

Default avatar picture of DevNinjas
Dominik Kneissl
@Siemens Healthineers

"The Docker workshop at DevNinjas was an all-round success. The content was clearly structured and practically delivered, including meaningful hands-on exercises. I took away a lot and feel significantly more confident working with Docker. Even more complex topics like multi-stage builds and networking were explained in an understandable way. A clear recommendation for anyone who really wants to understand Docker!"

Default avatar picture of DevNinjas
Daniel Müller
@Siemens Healthineers

"I really enjoyed the Docker workshop at DevNinjas! The content was well structured and clearly explained, even for beginners like me. The mix of theory and hands-on exercises was especially helpful for trying Docker directly. By the end, I was able to build my own images, configure containers and set up networks. Absolutely recommended for anyone who wants to learn Docker!"

Default avatar picture of DevNinjas
Pascal Schunk
@OEDIV

"The "Docker & Kubernetes Bundle" training provided me with solid, practical knowledge for everyday work and enabled me to handle Docker and Kubernetes professionally. The excellently structured material offers real added value, even beyond the workshop. The combination of technical depth and interactive delivery by the trainer rounded off the whole experience. An experience that continues to help me even after the training."

Default avatar picture of DevNinjas
Swen Strangfeld
@Bundesdruckerei GmbH

"It was fun and I learned a lot that I can actually apply directly in my company. The trainer's approach was very hands-on, and he repeatedly brought in real-world examples."

Default avatar picture of DevNinjas
Felix R.
@Dirk Rossmann GmbH

"I can recommend the Docker workshop at DevNinjas without reservation! The training was excellently structured: theory and practice complemented each other perfectly. The trainer always answered questions competently and clearly, making even more complex topics easily accessible. I was especially impressed by the professionally designed workshop materials, which are very useful as a reference even after the course. Overall, a thoroughly successful learning experience!"

Default avatar picture of DevNinjas
Lukas Graf
@Bundeswehr

"The seminar was superbly prepared, the group pleasantly small and the materials first-class. An excellent instructor who knows the subject inside out, takes time for the participants and answers questions in detail. The learning material alternated in a balanced way between theory and hands-on exercises that were timed excellently."

Default avatar picture of DevNinjas
Kevin H.
@Oest Holding GmbH

"Competent instructor. Individual approach to problems and topics. Interesting structure. Highly recommended to get an in-depth insight into the Docker world. The workshop was definitely worth it. Thanks!"

Default avatar picture of DevNinjas
H. Hillebrand
@PFSt NRW

Continue Learning

Related Workshops for You

Foundation
Kubernetes Advanced Workshop
Intermediate

Kubernetes Advanced

Two-day Kubernetes Advanced Training for production-ready deployments. You'll learn StatefulSets for databases, RBAC for security, HPA and VPA for auto-scaling, and Prometheus and Grafana for monitoring. Perfect after the introductory course or with comparable Kubernetes experience. Live online in groups of up to 8 participants.
2 Days€1,110.00
Alternative
Introduction to OPA Gatekeeper and Rego Workshop
Intermediate

Introduction to OPA Gatekeeper and Rego

Which Kubernetes resources may enter the cluster, and how do you find violations before a rule blocks deployments? Over three days, you develop testable Kubernetes policies with OPA Gatekeeper and Rego. You build reusable ConstraintTemplates and constraints, audit existing resources, and move rules from dryrun through warn to deny. No previous Rego experience is required.
3 Days€1,665.00
Certification
Preparation for the Certified Kubernetes Security Specialist (CKS) Exam Workshop
Advanced

Preparation for the Certified Kubernetes Security Specialist (CKS) Exam

In our four-day CKS workshop, you'll gain hands-on expertise in all relevant security measures and best practices to secure your Kubernetes cluster. Fully prepared to pass the CKS exam with confidence.
4 Days€2,220.00
Vincent Sturm - DevNinjas

Your Contact

Vincent Sturm

Key Account Manager

Looking for the right Kubernetes or DevOps training for your team? Vincent personally advises you on open workshops, certification prep and customized in-house training. He can also connect you with our consulting services. Get in touch with him directly.

vincent@devninjas.io
+49 221 9865099-4
WhatsApp Chat

Frequently asked questions

Yes. Kyverno, Policy as Code, and CEL are introduced step by step. You do need practical Kubernetes experience: inspecting resources with kubectl, editing YAML, and understanding Pods, Deployments, Namespaces, labels, selectors, and basic RBAC.

If kubectl, Pods, and Deployments are still new to you, start with the Kubernetes Fundamentals Workshop. For more practice with RBAC, selectors, and cluster-scoped resources, take the Kubernetes Advanced Workshop. Rego, Gatekeeper, or certification knowledge is not required.

Policy as Code means maintaining platform and security requirements as versioned, testable rules in a Git repository. A requirement no longer exists only in a document: test cases and Kyverno check its behavior against concrete Kubernetes resources.

In the workshop, this includes a clear policy statement, code review, compliant and non-compliant examples, a CI test, and staged introduction in the cluster. A policy does not need to block immediately. You can observe and assess its impact first.

Yes. A blocking policy that is too broad or incorrect can reject valid Kubernetes requests. You therefore test compliant, invalid, unaffected, and excepted resources. Selected rules begin in Audit so their impact is visible before you move to Deny.

You move to Deny only after verifying scope, exceptions, success criteria, and the rollback path. A prepared webhook outage adds diagnosis and recovery in an isolated training environment.

For a clearly bounded CEL check during a Kubernetes API request, native ValidatingAdmissionPolicy may be sufficient. It runs inside the API server and can obtain additional parameters from Kubernetes resources (paramKind).

This is not a strict either-or decision: Kyverno can also generate a native ValidatingAdmissionPolicy. Kyverno becomes useful when you also want to assess existing resources, add configuration, generate or delete resources, verify images, or manage exceptions. The Kyverno CLI tests both native ValidatingAdmissionPolicies and Kyverno's own policies. The workshop compares the same requirement in both models and uses one shared CLI and CI workflow.

Kyverno follows the Kubernetes resource model closely. Its current CEL-based policy types cover validation, mutation, generation, deletion, and image verification. Rules and tests live as Kubernetes YAML in one repository.

OPA Gatekeeper models Kubernetes controls through ConstraintTemplates, Constraints, and Rego. For teams centered on Rego or an existing Gatekeeper estate, the OPA Gatekeeper and Rego workshop is the appropriate alternative. The right choice depends on existing skills, required functions, and the operating model. Neither workshop requires the other first.

On all three days, you work with Kubernetes YAML, the Kyverno CLI, a policy repository, and a resettable cluster. You complete rules, run test cases, read API responses and Policy Reports, add a CI test, and diagnose a prepared webhook outage.

The cluster, registry, repository, and external dependencies are prepared. You complete policy templates, run test cases, and correct the technically relevant parts. Production access and personal registry credentials are not required.

You can establish a traceable policy workflow: state the requirement, define scope, test the rule and its exception, observe impact, and prepare the move to blocking enforcement. The workshop repository provides policies, test cases, decision templates, and a rollout checklist as a verifiable starting point.

The workshop does not cover a complete production installation, a full CEL or legacy syntax reference, comprehensive upgrade, sizing, or performance planning, multi-cluster operations, or hands-on implementations of Autogen or Namespaced Policy Delegation. It does not prepare you for KCA, CKS, or KCSA. For CKS, choose the dedicated exam preparation.

Our trainings usually take place from 9:00 to 16:00, both on-site and for public remote trainings.

For corporate trainings, other time models are flexible and can be worked out together.

We recommend a maximum of 8 participants per training to ensure individual attention for each participant. For corporate trainings, arrangements for larger groups are possible.

Yes, upon completion you will receive an official certificate of attendance from DevNinjas as PDF. This confirms your successful participation and the topics covered. The certificate is perfect for conversations with your employer and your personnel file.

Additionally, you will receive a verified digital badge that you can directly embed in your LinkedIn profile (section "Licenses & Certifications"). The badge follows the Open Badges 2.0 standard and is verifiable via QR code at any time. This way you showcase your qualification and position yourself with recruiters.

Workshop Dates

Workshop dates

Choose a suitable date and book directly online. All dates are guaranteed to run.

😢 Sorry, there are no workshops available at the moment

We regularly plan new workshops. Please check back later or contact us for a custom workshop.

Delivery available in German or English: dates on request.

Request offer