I recently gave a tech talk about KSQL at Mailchimp, and I wanted to make it as easy as possible for engineers to experiment with this technology right after the presentation. So, I decided to create a Helm chart that can be used for learning about KSQL, and even for prod deployments to your Kubernetes cluster. This post talks about how to use the Helm chart I created, and will provide a basis for deeper KSQL tutorials in later blog posts.
$ brew install kubernetes-helm
A fresh copy of the KSQL chart I created here.
$ git clone email@example.com:magicalpipelines/ksql-helm-chart.git $ cd ksql-helm-chart
If you’ve used Helm before, feel free to skip this section. If not, then no worries, we’ll briefly discuss what Helm is below. For a deeper understanding, please consult the Helm docs.
Helm allows us to deploy multiple Kubernetes resources very easily using the concept of charts. You can think of charts as simply a package for related resources (deployments, config maps, services, etc). In order to create a chart, we simply need to adhere to a specific directory structure when defining our KSQL resources.
So, lets look at the directory structure of our KSQL chart:
$ ls -1p Dockerfile README.md VERSION.txt chart/ docker-entrypoint.sh files/ script/
Now, run the following build script, which will build any custon UDFs / UDAFs you have defined (I will be discussing custom KSQL functions in a future tutorial), and also the Docker image that will be used for running KSQL.
Finally, deploy the Helm chart with another helper script that is included in the