Skip to main content

Managed Kafka: Architecture Reference

Purpose: For platform engineers and operators, provides a structured lookup of Kafka CRDs, topology options, platform dependencies, and lifecycle operations.

CRDs

CRDKindScopePurpose
kafka.strimzi.io/v1beta2KafkaNamespacedCluster definition (brokers, storage, listeners, KRaft)
kafka.strimzi.io/v1beta2KafkaTopicNamespacedTopic creation and configuration
kafka.strimzi.io/v1beta2KafkaUserNamespacedUser creation, authentication, ACLs
kafka.strimzi.io/v1beta2KafkaConnectNamespacedConnect cluster with plugin management
kafka.strimzi.io/v1beta2KafkaConnectorNamespacedIndividual connector lifecycle
kafka.strimzi.io/v1beta2KafkaMirrorMaker2NamespacedCross-cluster replication
kafka.strimzi.io/v1beta2KafkaBridgeNamespacedHTTP REST bridge
kafka.strimzi.io/v1beta2KafkaNodePoolNamespacedNode pool definitions (broker/controller roles)

Topology Options

ProfileBrokersReplicationUse Case
Development1NoneLocal dev and testing
Production3min.insync.replicas: 2Standard workloads
Stretch (multi-AZ)3+Rack-aware partition assignmentHigh availability across failure domains

Production and stretch topologies enable Cruise Control for partition rebalancing after scaling events.

Platform Dependencies

DependencyRequiredPurpose
cert-managerYesTLS certificate issuance and rotation
KeycloakOptionalOAuth2/OIDC authentication (alternative: SCRAM/mTLS)
kube-prometheus-stackYesMetrics collection and alerting
GrafanaYesPre-built Kafka dashboards
LokiYesOperator and broker log aggregation
HarborRecommendedImage scanning and provenance verification
KyvernoYesPolicy enforcement (image sources, resource limits)
FluxCDYesGitOps reconciliation of Kafka CRDs
VeleroRecommendedBackup of operator state and PVCs

All dependencies are provided by the Platform Foundation.

Lifecycle Operations

OperationMechanismTrigger
ProvisionStrimzi Cluster Operator creates StatefulSets, Services, SecretsKafka CR applied
Scale outAdd brokers to Kafka CR specGit commit → FluxCD reconcile
Scale inRemove brokers + Cruise Control partition reassignmentGit commit + manual rebalance trigger
Upgrade (Kafka)Version bump in Kafka CRGit commit → rolling restart
Upgrade (operator)Helm chart version bump in gitops-baseGit tag → FluxCD reconcile
BackupVelero PVC snapshots + topic config exportScheduled or manual
RestoreVelero restore + Strimzi re-reconciliationManual
Credential rotationUpdate KafkaUser CR or SCRAM secretGit commit → User Operator reconcile

Further Reading