On this page
Strimzi Operators address the challenges of configuring and managing Kafka components on Kubernetes, which is a hurdle when running Kafka on Kubernetes. For Axual, the solution comes in the form of Strimzi Operators.
Running Kafka on Kubernetes seems to be a natural choice, given both technologies’ serverless and scalable traits. Likewise, we’ve been offering a real-time data streaming solution that’s built around a Kafka-on-Kubernetes foundation.
Strimzi provides Kubernetes-native deployment and management for Kafka clusters, enhancing scalability and fault tolerance. It integrates seamlessly with Kubernetes, leveraging its orchestration capabilities to optimize Kafka’s performance in cloud environments.
What is Strimzi Operator?
Strimzi operator is a tool made available under the Strimzi open source project. It is meant to simplify how Kafka is configured, deployed, and managed on Kubernetes. It allows developers to use familiar Kubernetes processes to setup Kafka without digging deep into the infrastructure’s technicalities.
Strimzi simplifies configuring Kafka in the Kubernetes environment by enabling users to write coded instructions that the underlying platform then executes. Moreover, Strimzi not only offers a user-friendly Kafka configuration environment but also integrates essential security features.
Strimzi provides — with documentation — the following Operators for managing a Kafka cluster running within a Kubernetes cluster.
Different Types of Strimzi Operator
There are 3 types of Strimzi operators that’ll let you set up Apache Kafka on Kubernetes within minutes.
They are:
- Cluster operator allows you to create and configure Kafka Clusters, Kafka Connect, MirrorMaker, and Kafka Bridge.
- Topic operator – lets your create, update or delete Kafka Topics.
- User Operator – to create, update or delete users in the Kafka environment.
To use the operators, you’ll need to set up the associated resources. You can do so by creating instances of Custom Resource Definitions or CRDs as an extension to Kubernetes resources. The operator execution is based on the configurations on the respective CRDs.
Strimzi for Kafka - how the Operator Simplifies Kafka Deployment On Kubernetes
Kubernetes is a good container platform for running stateless applications or services. It is, however, not a natural fit for stateful applications like Kafka. If you attempt to set up Kafka on Kubernetes, there are many questions that need careful considerations.
For example, you need to place Kafka brokers on different Kubernetes nodes and ensure each node does not have more than one replica. That’s where Strimzi’s rack awareness is handy. It spreads Kafka broker pods through all the available zones to prevent disruptions when one of them goes down.
Before you can deploy the Kafka cluster for production, you’ll need to conduct a health check on the Kubernetes pods. The liveness probe will automatically restart a pod if it fails to respond. Meanwhile, the readiness probe determines whether the Kafka pod can start processing incoming requests.
With Strimzi, you don’t need to go through the complicated process of setting up the probes. All you need to do is to run the bash script for the respective probes to get the results.
It’s operators remove many obstacles of running Kafka on Kubernetes. It’s the foundation of Axual Platform, which has proved reliable for many of our clients.
How Axual Uses Strimzi
For the Axual platform, we use Strimzi Cluster Operator for deploying Kafka in Kubernetes. We do not use Topic and User Operator as we have our own Self-Service tool that allows developers to manage their topics and ACLs with enterprise-level data governance and security.
As versatile as Strimzi is, we could not integrate it directly with the Axual platform. One of the key design principles behind the platform is multi-tenancy. At the Kafka level, a custom principal builder facilitates storing not only the DN of the certificate but also the DN of the CA (intermediate and Root) that signed it. Using unique Root CAs per tenant ensures that no two tenants can use the same certificate to authorize access to a topic.
Unfortunately, Strimzi does not have any multi-tenancy features. It also blocks the “principal.builder.class” config. This meant we could not use our custom principal builder for multi-tenancy without modifying the Strimzi code. So we decided to fork Strimzi Cluster Operator and add support for our principal builder. With the forked Strimzi operator, we could support multi-tenancy with mutual TLS.
How Axual can help you
Strimzi can play a crucial role in simplifying the deployment and management of Kafka clusters on Kubernetes. Offering scalability, resilience, and operational efficiencies. By leveraging Strimzi, your organization can effectively handle the complexities of running Kafka in containerized environments, ensuring seamless integration with Kubernetes’ orchestration capabilities. If the documentation for Strimzi is simply not enough to keep you going, we have a solution. For enterprises seeking to optimize their real-time data streaming solutions with Kafka on Kubernetes, partnering with Axual provides expert guidance and support.
Axual Strimzi incident support
Strimzi Incident Support at Axual offers comprehensive assistance tailored specifically for managing Strimzi environments in production and acceptance settings. Our support covers Level 1 and 2 incidents related directly to Strimzi, ensuring prompt resolution of critical issues that impact business operations. This includes ensuring Strimzi setups meet our stringent quality standards, whether they are provided by Axual or externally assessed for compatibility.
It’s important to clarify that our support does not extend to development issues within custom applications running on Strimzi. Nor does it cover application performance tuning or debugging. Instead, our focus is on maintaining the reliability and operational efficiency of the Kafka infrastructure itself.
For enterprises relying on Strimzi in production environments, our support provides peace of mind through continuous monitoring, expert guidance on lifecycle management, including version upgrades and automated configurations. We conduct thorough assessments during onboarding to evaluate setup maturity, tooling adequacy for monitoring and alerting, and team proficiency, ensuring tailored support aligned with specific operational needs.
Axual’s Strimzi Support is ideal for businesses across various sectors, including e-commerce, financial services, telecommunications, healthcare, and more, where uninterrupted Kafka operations are critical for seamless data processing and service delivery.
To get in touch with us for consultation, maintenance and implementation of Kafka-based solutions using Strimzi, visit our contact page.
Download the Whitepaper
Download nowAnswers to your questions about Axual’s All-in-one Kafka Platform
Are you curious about our All-in-one Kafka platform? Dive into our FAQs
for all the details you need, and find the answers to your burning questions.
The Strimzi Operator is an open-source tool designed to simplify the configuration, deployment, and management of Kafka clusters within a Kubernetes environment. It allows developers to use familiar Kubernetes processes to set up Kafka without delving into the underlying infrastructure complexities. By automating tasks such as health checks and configuration management, Strimzi enhances the scalability, fault tolerance, and overall performance of Kafka in cloud-based applications.
Cluster Operator, Topic Operator, User Operator.
Related blogs
Apache Kafka is a powerful platform for handling real-time data streaming, often used in systems that follow the Publish-Subscribe (Pub-Sub) model. In Pub-Sub, producers send messages (data) that consumers receive, enabling asynchronous communication between services. Kafka’s Pub-Sub model is designed for high throughput, reliability, and scalability, making it a preferred choice for applications needing to process massive volumes of data efficiently. Central to this functionality are topics and partitions—essential elements that organize and distribute messages across Kafka. But what exactly are topics and partitions, and why are they so important?
Strimzi Kafka offers an efficient solution for deploying and managing Apache Kafka on Kubernetes, making it easier to handle Kafka clusters within a Kubernetes environment. In this article, we'll guide you through opening a shell on a Kafka broker pod in Kubernetes and listing all the topics in your Kafka cluster using an SSL-based connection.
Kafka Operators for Kubernetes makes deploying and managing Kafka clusters simpler and more reliable. In this blog, we will do a deep dive into what a Kafka operator is and why you should use a Kafka operator.