Tag 1: Rego verstehen und erste Gatekeeper-Policy bauen
5 Themen, Tippen zum ÖffnenTippen zum Schließen
10:00–11:00OPA, Rego und Gatekeeper einordnen
OPA trifft Entscheidungen, Rego beschreibt die Regeln und Gatekeeper bindet beides an Kubernetes an. Sie schicken Beispiel-Workloads durch den API-Server und verfolgen, wann der Admission-Webhook prüft und wann der Audit-Controller bereits gespeicherte Ressourcen bewertet. Dabei ordnen Sie Request-Pfad, Gatekeeper-Komponenten, ConstraintTemplate und Constraint einem gemeinsamen Architekturmodell zu und diskutieren, an welcher Stelle die jeweilige Entscheidung entsteht.
11:00–12:00Erste Rego-Regel schreiben und testen
Rego beschreibt gewünschte Ergebnisse statt einer Schrittfolge wie eine imperative Sprache. Sie lesen ein Kubernetes-Objekt über input und formulieren mit if und contains eine verständliche Violation Rule. Mit Formatierung, strikten Prüfungen und Testfunktionen der OPA CLI untersuchen Sie, wie Syntax, leere Testsammlungen und Policy-Logik unterschiedliche Rückmeldungen beeinflussen.
13:00–14:00Rego für Kubernetes-Objekte erweitern
Kubernetes-Manifeste enthalten verschachtelte Objekte und Listen, die eine einzelne Bedingung selten vollständig abdeckt. Sie erweitern Ihre Regel um Iteration, Mengen, Negation und eine Hilfsregel und variieren vorhandene, fehlende sowie anders strukturierte Felder. Sie nutzen das DevNinjas Dojo, unsere Cloud-Lernumgebung, um zu untersuchen, wie Datenstruktur und Modellierung die Auswertung sowie ihre Rückmeldung beeinflussen.
14:00–15:00ConstraintTemplate aus Rego bauen
Ein ConstraintTemplate macht aus Rego-Logik einen wiederverwendbaren Kubernetes-Policy-Typ. Sie übertragen Ihre Regel in die explizite Rego-v1-Engine, definieren ein strukturelles OpenAPI-Parameterschema und wenden das Template im Cluster an. In der Lernumgebung interpretieren Sie Ingestion-Status, generierte CRD und Typ-Rückmeldungen als Diagnosesignale und diskutieren, was diese über Schema und Policy-Logik aussagen können.
15:00–16:00Constraints parametrisieren und eingrenzen
Ein Constraint wendet dasselbe Template mit konkreten Parametern und einem definierten Geltungsbereich an. An Beispielen für unterschiedliche Teams variieren Sie Kinds, Scope, Namespaces, Exclusions und Selektoren. In der Lernumgebung untersuchen Sie, wie Zielauswahl und Parametrisierung die Grenze zwischen wiederverwendbarer Logik und clusterspezifischer Konfiguration beeinflussen und welche Workloads bewusst außerhalb bleiben sollten.

