presentations/kubebuilder/content.md
2019-06-11 22:29:32 +02:00

2 KiB

Kubebuilder


Content

  • CRDs
  • Controller / Operator
  • Kubebuilder
  • Live Coding
  • Real Life Use Cases

CRDs


Controller

A control loop that watches the state [...] and makes changes attempting to move the current state towards the desired state.

--

Controller

  • integrated in kube-apiserver or kube-controller-manager
  • watch builtin k8s objects (core, apps, batch)
  • logic ontop of data
  • create sub-resources

--

Controller

deployment controller

  • watches Deployments
  • creates and deletes ReplicaSets
  • scales ReplicaSets for rolling deployments

--

Controller

kubelet

  • watches PodSpecs
  • starts/stops containers

--

Operator

  • term coined by CoreOS
  • same as controller but for CRDs
  • integrate operational knowledge
  • provide usability features
    • updates
    • scaling
    • backups
    • integration with k8s

Kubebuilder


Live Coding

Check out the source at
https://github.com/apricote/kubebuilder-poke-sync


Real Life Use Cases

Databases

--

Real Life Use Cases

Provisioning external resources

--

Real Life Use Cases

Application Lifecycle Managment