The Kubernetes Universal Declarative Operator - KUDO - is a way of building Kubernetes operators in a declarative way. From a workload perspective, it defines a way to package manifest files in a gzipped tar file (an archive file with a .tgz file extension). The files in this tgz file are templated files that produce the standard manifest files identified in the user workload section.

NOTE: KUDO operators require a KUDO controller running in the cluster.

Before you Begin

To run the KUDO controller or any KUDO workloads beyond the standard workload prerequisties, you will need:

Fortunately, the KUDO CLI provides features to help with the installation of the CRDs and for development purposes only, the ability to install a development version of a certification manager.

Run the KUDO Controller

To start the KUDO controller workload in the cluster run: kubectl kudo init

This will install the KUDO CRDs and run the KUDO controller in the kudo-system namespace.

kubectl get pod -n kudo-system
NAME                        READY   STATUS    RESTARTS   AGE
kudo-controller-manager-0   1/1     Running   0          6m47s

Run a KUDO Operator

With a KUDO controller running in the cluster, it is possible to install a KUDO operator. KUDO operators are packaged in a tgz file and can be located anywhere. They can be referenced from the filesystem, or from a URL directly, but generally they are served from a KUDO repository. During a kubectl kudo init, the default client initialization is performed along with the installation of the KUDO controller. The default repository is called the “community” repository and can be identified via the following:

kubectl kudo repo list
NAME        URL
*community  https://kudo-repository.storage.googleapis.com/0.10.0

To install a KUDO operator / workload, run kubectl kudo install:

kubectl kudo install zookeeper
operator default/zookeeper created
operatorversion default/zookeeper-3.4.14-0.3.1 created
instance default/zookeeper-instance created

The KUDO operators can have any number of workloads associated with them, which can change depending on installation configuration. For more details, see the KUDO project site.

For information on related topics or procedures, refer to the following: