Operator pattern is very popular for bringing domain knowledge into Kubernetes and extend the Kubernetes api. There are some good tooling built by the Kubernetes community that makes building an operator much easier and https://kubebuilder.io is one of the most popular ones.
#kubernetes #operator #crashcourse #kubebuilder #platformengineering
#cloudnative #programming
➡ Playbook: https://roozy-io.github.io/idp/tutorials/extending-k8s.html
➡ Hands-on Lab: https://killercoda.com/aghilish/scenario/extending_k8s
➡ GitHub: https://github.com/aghilish/operator-tutorial
(0:00) Intro
(0:38) Kubernetes Extension Points
(3:21) Declarative vs Imperative APIs
(05:00) Operator Pattern
(07:48) 2 Hands-on Models
(08:45) Hands-on Lab Agenda
(11:12) Custom Resource Definition API
(17:50) Create Kubebuilder Project
(23:20) Create Our First API
(29:28) A look into Kubebuilder Setup
(30:55) Add Logging to Reconcile Function
(33:33) Desired State
(36:24) Read CR in Reconcile Function
(39:07) Kubebuilder & RBAC
(41:28) Add Managed Persistent Volume Claim
(45:56) Add Managed Deployment
(48:22) Add Managed Service
(49:48) Wrap up Reconcile
(54:45) Update CR
(55:50) Delete CR
(57:19) Deploy Operator
(01:00:48) Setup VSCode Debugger
(01:02:55) Learning Resources
(01:04:00) Outro
➡ Follow me on GitHub: https://github.com/aghilish
➡ Follow me on LinkedIn: https://linkedin.com/in/aghilish/