Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

kudo tutorial

Developing Kubernetes operators using KUDO, the Kubernetes Universal Declarative Operator. KUDO provides a declarative approach to building production-grade Kubernetes Operators covering the entire application lifecycle.

install kudo

Kudo comes with its own kubectl CLI plugin. On Mac OS X you can install it using brew.

brew tap kudobuilder/tap
brew install kudo-cli

More on the kudo CLI at .

Once you have a running kubernetes cluster with kubectl installed along with the KUDO CLI plugin, you can install kudo as follows.

kubectl kudo init

More on the kudo install at .

install and operate kudo operators

Install and operate your first kudo operator using kafka as the sample.

develop kudo operators

kudo operator programming model

As a developer of a kudo operator you have to author three types of YAML artifacts in the following file folder structure.


In the following we describe the roles that each of the YAML artifacts plays and what they capture.


The operator file defines the operator behavior.

It has a name (e.g kafka), and a version.

Tasks list the resource templates that get applied together.

Plans orchestrate tasks through phases and steps. Plans consists of one or more phases. Phases consists of one or more steps. Steps contain one or more tasks. Both phases and also steps can be configured with an execution strategy, either serial or parallel.


The params file defines the parameters that can be used to configure an instance created by the operator. A parameter definition has a name, default value, display name, and description.


A template file defines the resources that can be applied by operator tasks. Samples are config maps, service, deployment, stateful set, ... .

unit 1: parameters, templates, tasks, and plans in action

  • showcasing the core operator concepts

unit 2: a stateful service

  • showcasing stateful set, and headless service templates
  • showcasing containers, and init containers
  • showcasing persistent volumes
  • showcasing instance update, showing scaling

unit 3: update and upgrade plans

  • showcasing update and upgrade Plans
  • showcasing controlled parameter updates

unit 4: custom plans

  • showcasing backup and restore


Kubernetes Universal Declarative Operator (KUDO) Tutorial




No packages published