Terraform module for deploying a production-grade Confluent Platform on Azure Kubernetes Service (AKS) using the Confluent for Kubernetes (CFK) operator.
- Private AKS cluster with multi-AZ node pools and workload identity
- KRaft mode (no ZooKeeper dependency)
- All Confluent components: Kafka, Schema Registry, Connect, ksqlDB, Control Center, REST Proxy
- Production security: TLS/mTLS, RBAC with MDS, Azure Managed Identities
- Monitoring: Prometheus ServiceMonitors and Grafana dashboards
- Flexible: bring-your-own VNet/AKS, toggle components on/off
Azure Resource Group
├── VNet (10.0.0.0/16)
│ ├── AKS Node Subnet (/21)
│ ├── Internal LB Subnet (/24)
│ └── Private Endpoint Subnet (/24)
├── NAT Gateway
├── Private DNS Zones
├── Azure Key Vault
└── Private AKS Cluster
├── System Node Pool (3 nodes, 3 AZs)
└── Confluent Node Pool (3+ nodes, 3 AZs)
├── KRaft Controllers (3 replicas)
├── Kafka Brokers (3+ replicas)
├── Schema Registry
├── Connect (optional)
├── ksqlDB (optional)
├── Control Center
└── REST Proxy (optional)
module "confluent_platform" {
source = "osodevops/confluent-platform/azure"
version = "~> 2.0"
name = "my-confluent"
environment = "production"
location = "uksouth"
}See examples/ for more usage patterns.
This is v2 of the module - a complete rewrite from VM-based (Ansible) to AKS + CFK. See Migration Guide for upgrading from v1.
| Example | Description |
|---|---|
| complete | Full HA production deployment with all components, TLS, RBAC, and monitoring |
| minimal | Minimal Kafka + Schema Registry for dev/test |
| bring-your-own-aks | Deploy CFK on an existing VNet/AKS cluster |
- Confluent for Kubernetes Documentation
- terraform-aws-confluent-platform - AWS equivalent
Apache 2.0 Licensed. See LICENSE for full details.