Kafka Terraform Deployment
A Terraform module to deploy a Kafka cluster, a consumer and a producer in a Kubernetes cluster
As a DevOps engineer, your task is to create a Terraform module to deploy a Kafka cluster, a consumer and a producer on an existing Kubernetes cluster using the Strimzi Kafka operator.
Your module should assume that there is a valid Kubernetes context available and use it. Applying the module should result in:
- A Strimzi operator deployed on a
strimzi
namespace - A Kafka cluster deployed on an
application
namespace using the Strimzi Operator - A Kafka topic created using Strimzi's entities operator
- A job that runs
kafka-producer-perf-test
(included on Strimzi's Kafka images) to produce messages into the created topic - A deployment that runs
kafka-console-consumer
(also included on Srimzi's Kafka images) to read and log the messages from the topic to the standard output
Feel free to extract out sub-modules as you deem necessary. You can also use open-source components like Helm charts and modules from the Terraform Registry – why reinvent the wheel, right? 😜
Please send us the repository's link to jobs@croct.com, and we will reply to your email with the next steps in the process.
We will do our best to review your project and get back with feedback on the result as soon as possible.
To have a visual dashboard about what is happening on you cluster, create a deployment for either: