Kubernetes Universal Declarative Operator (KUDO) provides a declarative approach to building production-grade Kubernetes Operators covering the entire application life cycle.
The Cloud Native Computing Foundation (CNCF) has made the KUDO management toolkit, created by D2iQ, a sandbox-level project. –D2iQ July 2020
If you find yourself needing to manage specialized services and solution sets on Kubernetes, writing an Operator often provides controllers to manage these complexities. An Operator contains imperative management logic that reacts to declarative requests and Kubernetes events. There are a variety of projects that offer you frameworks for writing Operators. KUDO is a prominent solution for writing Operators, and this scenario teaches you how to use it.
KUDO is an open source Apache 2.0 project governed by the good people at D2IQ, among others. KUDO is a much easier way to write an Operator because it embraces a declarative form over imperative Go-based coding.
In this scenario, you will hand craft an Operator, create an Operator repository, and run the Operator to coordinate with your Kubernetes cluster.
In this scenario you will learn how to:
- Install the KUDO plugin into kubectl
- Generate an Operator
- Configure Operator logic
- Package and Server an Operator
Although this was a very simple Operator, you should now be familiar with the tooling and procedures needed to start developing real Operators to solve some of your more intricate software life cycle management challenges.
Using KUDO, you can deploy your applications, have the tools needed to operate them, and understand how they're behaving—all without a Ph.D. in Kubernetes.
KUDO lets you configure an Operator’s entire life cycle using a declarative spec, including things like backup/restore. You don’t have to write Go unless you want to.
With these steps you have learned:
- ✔ How to install the KUDO plugin into kubectl
- ✔ How to generate an Operator
- ✔ How to configure Operator logic
- ✔ How to package and Server an Operator
Special Thank You
- KUDO Project
- KUDO Development Community
- Operator pattern
- Custom Resource Definitions (CRDs)
- Extend kubectl with plugins
- Community-supported plugins
- The Kubernetes API
Develop an Operator with KUDO
Your Kubernetes Cluster
For this scenario, Katacoda has started a fresh Kubernetes cluster. Verify it's ready for your use:
kubectl version --short && \
kubectl get componentstatus && \
kubectl get nodes && \
The Helm package manager used for installing applications on Kubernetes is also available:
helm version --short
You can administer your cluster with the
kubectl CLI tool or use the visual Kubernetes Dashboard. Use this script to access the protected Dashboard: