cdk8s (Cloud Development Kit for Kubernetes) is an open-source framework (part of CNCF) using which you can define your Kubernetes applications with regular programming languages (instead of yaml). Some of the previous blogs on this topic covered the getting started experience and using cdk8s-plus library to further improve upon the core cdk8s library features. We are going to continue and push cdk8s even further.
This blog post will demonstrate how you can use Kubernetes Custom Resource Definitions with cdk8s. We will start off with a simple Nginx example and then you will use the combination of Strimzi project CRDs along with Go cdk8s to define and deploy a Kafka cluster on Kubernetes!
I am assuming that you’ve have some knowledge of Kubernetes Custom Resource Definitions and have probably even used a few in the form of Operators. If not, that’s ok! The Kubernetes documentation covers it quite well. You can always refer to it, come back here and follow along!