added kafka to rancher catalog

Update config.yml

Update config.yml

Update config.yml

Update config.yml

Update config.yml

Update fields as requested.

updated kafka catalog service. Refactor confd to be compatible with rancher-metadata v2

updated kafka catalog service. Refactor confd to be compatible with rancher-metadata v2

fix config.yml minimum_rancher_version param

Added zookeeper service and refactor kafka service

upgrade kafka version 0.9.0

consolidate down to a single template
This commit is contained in:
Raul Sanchez
2016-01-31 23:38:34 +01:00
parent a862566cd2
commit bda94b34b3
11 changed files with 187 additions and 2 deletions
+21
View File
@@ -0,0 +1,21 @@
# Apache Kafka (Experimental)
### Info:
This template creates, scale in and scale out a multinodes broker (kafka) cluster on top of Rancher. The configuration is generated with confd from Rancher metadata.
Cluster size are variable after deployment, and get reconfigured if refresh interval > 0.
### Usage:
Select Apache Kafka from catalog.
Enter the number of nodes, mem, refresh interval broker cluster and zookeeper service to connect. (set refresh data to 0 to disable dinamic config)
Note: When you scale the cluster, zero downtime is not guaranteed..yet..
Click deploy.
Kafka can now be accessed over the Rancher network.
+11
View File
@@ -0,0 +1,11 @@
broker:
tty: true
image: rawmind/rancher-kafka:0.9.0
volumes:
- /opt/kafka/data
environment:
- JVMFLAGS=-Xmx${kafka_mem}m -Xms${kafka_mem}m
- CONFD_INTERVAL=${kafka_interval}
- ZK_SERVICE=${zk_link}
external_links:
- ${zk_link}:zk
+44
View File
@@ -0,0 +1,44 @@
.catalog:
name: Kafka
version: 0.9.0-rancher1
description: |
(Experimental) Apache Kafka cluster.
minimum_rancher_version: v0.56.0
maintainer: "Raul Sanchez <rawmind@gmail.com>"
uuid: kafka-0
questions:
- variable: "kafka_scale"
description: "Number of brokers nodes. Note: Recommended an odd number"
label: "Broker Nodes:"
required: true
default: 3
type: "int"
- variable: "kafka_mem"
description: "Amount of memory to config brokers."
label: "Broker Memory (mb):"
required: true
default: 1024
type: "string"
- variable: "kafka_interval"
description: "Interval to poll/apply configuration changes. 0 to disable"
label: "Broker Interval (s):"
required: true
default: 60
type: "int"
- variable: "zk_link"
description: |
Choose the Zookeeper service to use.
It's really recommended a dedicated zookeeper service just for Kafka.
label: "Zookeeper stack/service"
default: "kafka-zk/zk"
required: true
type: "service"
broker:
scale: ${kafka_scale}
health_check:
port: 9092
interval: 5000
unhealthy_threshold: 3
request_line: ''
healthy_threshold: 2
response_timeout: 5000