Feat: Kafka package, added host_label question to control where to deploy. Compose files updated to v2 format

This commit is contained in:
Raul Sanchez 2018-01-25 16:31:15 +01:00
parent 78b34c38ff
commit b14a5f571e
4 changed files with 85 additions and 58 deletions

View File

@ -23,6 +23,7 @@
- kafka_auto_create_topics="true" # kafka auto create topics
- kafka_replication_factor=1 # Kafka replication factor
- kafka_pub_ip= < true | false > # Advertise public ip to zookeeper.
- host_label="" # Host label where to deploy kafka.
- zk_link="kafka-zk/zk" # zookeeper stack/service to connect to.
Click deploy.

View File

@ -1,46 +0,0 @@
broker:
tty: true
image: rawmind/alpine-kafka:1.0.0-2
volumes_from:
- broker-volume
- broker-conf
environment:
- JVMFLAGS=-Xmx${kafka_mem}m -Xms${kafka_mem}m
- CONFD_INTERVAL=${kafka_interval}
- ZK_SERVICE=${zk_link}
- KAFKA_DELETE_TOPICS=${kafka_delete_topics}
- KAFKA_LOG_DIRS=${kafka_log_dir}
- KAFKA_LOG_RETENTION_HOURS=${kafka_log_retention}
- KAFKA_NUM_PARTITIONS=${kafka_num_partitions}
- ADVERTISE_PUB_IP=${kafka_pub_ip}
- KAFKA_AUTO_CREATE_TOPICS=${kafka_auto_create_topics}
- KAFKA_REPLICATION_FACTOR=${kafka_replication_factor}
external_links:
- ${zk_link}:zk
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: broker-volume, broker-conf
broker-conf:
net: none
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
image: rawmind/rancher-kafka:0.11.0.0-1
volumes:
- /opt/tools
broker-volume:
net: none
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
environment:
- SERVICE_UID=10003
- SERVICE_GID=10003
- SERVICE_VOLUME=${kafka_log_dir}
volumes:
- ${kafka_log_dir}
volume_driver: local
image: rawmind/alpine-volume:0.0.2-1

View File

@ -0,0 +1,63 @@
version: '2'
services:
broker:
tty: true
image: rawmind/alpine-kafka:1.0.0-2
volumes_from:
- broker-volume
- broker-conf
environment:
- JVMFLAGS=-Xmx${kafka_mem}m -Xms${kafka_mem}m
- CONFD_INTERVAL=${kafka_interval}
- ZK_SERVICE=${zk_link}
- KAFKA_DELETE_TOPICS=${kafka_delete_topics}
- KAFKA_LOG_DIRS=${kafka_log_dir}
- KAFKA_LOG_RETENTION_HOURS=${kafka_log_retention}
- KAFKA_NUM_PARTITIONS=${kafka_num_partitions}
- ADVERTISE_PUB_IP=${kafka_pub_ip}
- KAFKA_AUTO_CREATE_TOPICS=${kafka_auto_create_topics}
- KAFKA_REPLICATION_FACTOR=${kafka_replication_factor}
external_links:
- ${zk_link}:zk
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.sidekicks: broker-volume, broker-conf
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
broker-conf:
network_mode: none
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
image: rawmind/rancher-kafka:0.11.0.0-1
volumes:
- brokerconfig:/opt/tools
broker-volume:
network_mode: none
labels:
io.rancher.scheduler.affinity:container_label_soft_ne: io.rancher.stack_service.name=$${stack_name}/$${service_name}
io.rancher.container.hostname_override: container_name
io.rancher.container.start_once: true
{{- if ne .Values.host_label ""}}
io.rancher.scheduler.affinity:host_label: ${host_label}
{{- end}}
environment:
- SERVICE_UID=10003
- SERVICE_GID=10003
- SERVICE_VOLUME=${kafka_log_dir}
volumes:
- brokerdata:${kafka_log_dir}
image: rawmind/alpine-volume:0.0.2-1
volumes:
brokerconfig:
driver: local
per_container: true
brokerdata:
driver: local
per_container: true

View File

@ -1,8 +1,9 @@
.catalog:
version: '2'
catalog:
name: Kafka
version: 1.0.0-rancher1
description: |
(Experimental) Apache Kafka cluster.
Apache Kafka cluster.
minimum_rancher_version: v0.59.0
maintainer: "Raul Sanchez <rawmind@gmail.com>"
uuid: kafka-0
@ -75,6 +76,13 @@
required: false
default: false
type: "boolean"
- variable: host_label
label: "Host Label"
description: |
Host label where deploy kafka. E.G.: 'kafka=true'
required: false
default: ""
type: "string"
- variable: "zk_link"
description: |
Choose the Zookeeper service to use.
@ -83,14 +91,15 @@
default: "kafka-zk/zk"
required: true
type: "service"
broker:
scale: ${kafka_scale}
retain_ip: true
health_check:
port: 9092
interval: 5000
unhealthy_threshold: 3
request_line: ''
healthy_threshold: 2
response_timeout: 5000
services:
broker:
scale: ${kafka_scale}
retain_ip: true
health_check:
port: 9092
interval: 5000
unhealthy_threshold: 3
request_line: ''
healthy_threshold: 2
response_timeout: 5000