New to KubeDB? Please start here.

GitOps Overview for Kafka

This guide will give you an overview of how KubeDB gitops operator works with Kafka databases using the gitops.kubedb.com/v1alpha1 API. It will help you understand the GitOps workflow for managing Kafka databases in Kubernetes.

Before You Begin

Workflow GitOps with Kafka

The following diagram shows how the KubeDB GitOps Operator used to sync with your database. Open the image in a new tab to see the enlarged version.

GitOps Flow
Fig: GitOps process of Kafka
  1. Define GitOps Kafka: Create Custom Resource (CR) of kind Kafka using the gitops.kubedb.com/v1alpha1 API.
  2. Store in Git: Push the CR to a Git repository.
  3. Automated Deployment: Use a GitOps tool (like ArgoCD or FluxCD) to monitor the Git repository and synchronize the state of the Kubernetes cluster with the desired state defined in Git.
  4. Create Database: The GitOps operator creates a corresponding KubeDB Kafka CR in the Kubernetes cluster to deploy the database.
  5. Handle Updates: When you update the KafkaGitOps CR, the operator generates an Ops Request to safely apply the update(e.g. VerticalScaling, HorizontalScaling, VolumeExapnsion, Reconfigure, RotateAuth, ReconfigureTLS, VersionUpdate, ans Restart.

This flow makes managing Kafka databases efficient, reliable, and fully integrated with GitOps practices.

In the next doc, we are going to show a step by step guide on running Kafka using GitOps.