Skip to content
Kubernetes Universal Declarative Operator (KUDO) Tutorial
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
LICENSE v0.5.0 updates Aug 20, 2019

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

Run the following three commands to install kudo.

kubectl create -f
kubectl create -f
kubectl create -f

More on the kudo install at .

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 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
You can’t perform that action at this time.