A proposed four-day workshop on a bounded controller
Participants need Kubernetes fundamentals and the ability to read and modify an API client. We shorten familiar deployment material and use one small example to make lifecycle behavior visible.
Day 1
Resource contracts and workload behavior
Explain desired state, resource identity, status, and the workload behavior the component will manage. Define a small contract before modifying the supplied controller example.
Hands-on exercises
- Specify the example's valid inputs and observable completion conditions.
- Compare its desired state with the resources that implement it.
Day 2
Reconciliation and deployment configuration
Connect watches or polling, repeated actions, and observed state to a control loop. Use templating and architecture knowledge to understand how the controller itself runs.
Hands-on exercises
- Implement or modify one bounded reconciliation decision.
- Interrupt the example and inspect its behavior when processing resumes.
Day 3
Dependencies, ownership, and access paths
Examine API access, dependency communication, resource ownership, and placement. Determine which failures should produce another attempt and which need a visible condition.
Hands-on exercises
- Introduce an unavailable dependency and inspect the resulting status.
- Verify the permissions required for the component's intended scope.
Day 4
Deletion, failure verification, and operation
Review persistent effects, finalizers, resource pressure, and release compatibility. Define operating evidence for the lifecycle paths that the example supports.
Hands-on exercises
- Exercise repeated reconciliation and interrupted cleanup without duplicating the intended effect.
- Record the contract, failure checks, and known scope of the component.
Your API contract, controller questions, and engineering responsibilities can shape the agenda. Get in touch to tailor the workshop to your team's work.