Apache Kafka¶
Before we can deploy Kafka cluster, we need to have access to Zookeeper cluster. we will assume in this template that Zookeeper quorum is already defined somewhere in blueprint.
node_templates:
${KAFKA}_firewall:
type: dice.firewall_rules.kafka.Broker
${KAFKA}_vm:
type: dice.hosts.ubuntu.${HOST_SIZE}
instances:
deploy: ${KAFKA_INSTANCE_COUNT}
relationships:
- type: dice.relationships.ProtectedBy
target: ${KAFKA}_firewall
${KAFKA}:
type: dice.components.kafka.Broker
relationships:
- type: dice.relationships.ContainedIn
target: ${KAFKA}_vm
- type: dice.relationships.zookeeper.ConnectedToZookeeperQuorum
target: ${ZOOKEEPER}_quorum
Template variables¶
- KAFKA
- Unique name of the Kafka cluster. If there is a single Kafka cluster described in blueprint, this can be set to anything, but usually to kafka.
- KAFKA_INSTANCE_COUNT
- Number of Kafka brokers to include in cluster.
- ZOOKEEPER
- Name of the Zookeeper cluster that should be used by Kafka to coordinate work between worker instances.
- HOST_SIZE
- Size of the host virtual machine. Available values are Small, Medium and Large.