Skip to main content

Strimzi Backup Operator

The Strimzi Backup Operator is a Strimzi-native Kubernetes operator for backing up and restoring Kafka clusters managed by Strimzi. Instead of configuring bootstrap servers and TLS material by hand, it resolves connection details, cluster CA certificates, and KafkaUser credentials directly from your Strimzi custom resources.

Which operator do I need?

This operator (kafkabackup.com/v1alpha1) is purpose-built for Strimzi-managed clusters and references Strimzi Kafka/KafkaUser resources. If you run Kafka outside Strimzi (MSK, Confluent, self-managed), use the OSO Kafka Backup Operator (kafka.oso.sh/v1alpha1) instead.

Custom Resource Definitions

CRDAPI GroupDescription
KafkaBackupkafkabackup.com/v1alpha1Back up topics from a Strimzi cluster to S3, Azure Blob, GCS, or filesystem storage — one-shot or on a cron schedule
KafkaRestorekafkabackup.com/v1alpha1Restore a backup into a Strimzi cluster, with topic selection, renaming, and point-in-time recovery

The operator runs backups and restores as Kubernetes Jobs that execute the kafka-backup CLI, so every run is inspectable with standard tooling (kubectl get jobs,pods).

Installation

# Add the OSO DevOps Helm repository
helm repo add oso-devops https://osodevops.github.io/helm-charts/
helm repo update

# Install the operator
helm install strimzi-backup-operator oso-devops/strimzi-backup-operator \
--namespace kafka \
--create-namespace

A minimal backup and restore

apiVersion: kafkabackup.com/v1alpha1
kind: KafkaBackup
metadata:
name: daily-backup
namespace: kafka
spec:
strimziClusterRef:
name: my-cluster # your Strimzi Kafka CR
schedule:
cron: "0 2 * * *"
storage:
type: s3
s3:
bucket: my-kafka-backups
region: eu-west-1
---
apiVersion: kafkabackup.com/v1alpha1
kind: KafkaRestore
metadata:
name: restore-orders
namespace: kafka
spec:
strimziClusterRef:
name: my-cluster
backupRef:
name: daily-backup
backupId: backup-20260610-020000
topics:
include:
- orders-*

Next steps