kafka/kafka_deployment/docker-compose.yml
2025-02-18 15:49:35 +03:00

208 lines
5.7 KiB
YAML

services:
zookeeper-qa-1:
image: 'docker.io/bitnami/zookeeper:3.8.1-debian-11-r44'
container_name: zookeeper-qa-1
hostname: zookeeper-qa-1
restart: always
ports:
- '2181'
networks:
- portal_qa
deploy:
placement:
constraints:
- "node.hostname==tt-test-01"
volumes:
- zookeeper-qa-1-data:/bitnami
environment:
- ZOO_SERVER_ID=1
- ALLOW_ANONYMOUS_LOGIN=yes
- ZOO_SERVERS=zookeeper-qa-1:2888:3888,zookeeper-qa-2:2888:3888,zookeeper-qa-3:2888:3888
zookeeper-qa-2:
image: 'docker.io/bitnami/zookeeper:3.8.1-debian-11-r44'
hostname: zookeeper-qa-2
container_name: zookeeper-qa-2
restart: always
ports:
- '2181'
networks:
- portal_qa
deploy:
placement:
constraints:
- "node.hostname==tt-test-01"
volumes:
- zookeeper-qa-2-data:/bitnami
environment:
- ZOO_SERVER_ID=2
- ALLOW_ANONYMOUS_LOGIN=yes
- ZOO_SERVERS=zookeeper-qa-1:2888:3888,zookeeper-qa-2:2888:3888,zookeeper-qa-3:2888:3888
zookeeper-qa-3:
image: 'docker.io/bitnami/zookeeper:3.8.1-debian-11-r44'
container_name: zookeeper-qa-3
hostname: zookeeper-qa-3
restart: always
ports:
- '2181'
networks:
- portal_qa
deploy:
placement:
constraints:
- "node.hostname==tt-test-01"
volumes:
- zookeeper-qa-3-data:/bitnami
environment:
- ZOO_SERVER_ID=3
- ALLOW_ANONYMOUS_LOGIN=yes
- ZOO_SERVERS=zookeeper-qa-1:2888:3888,zookeeper-qa-2:2888:3888,zookeeper-qa-3:2888:3888
kafka-qa-1:
image: 'docker.io/bitnami/kafka:3.3.2-debian-11-r4'
hostname: kafka-qa-1
container_name: kafka-qa-1
restart: always
ports:
- 9092:9092
networks:
- portal_qa
deploy:
placement:
constraints:
- "node.hostname==tt-test-01"
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-qa-1:2181,zookeeper-qa-2:2181,zookeeper-qa-3:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CFG_ADVERTISED_LISTENERS=EXTERNAL://:9092
- KAFKA_INTER_BROKER_LISTENER_NAME=EXTERNAL
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
- KAFKA_CFG_LISTENERS=EXTERNAL://:9092
- KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=3
- BITNAMI_DEBUG=true
volumes:
- 'kafka-qa-1-data:/bitnami'
depends_on:
- zookeeper-qa-1
- zookeeper-qa-2
- zookeeper-qa-3
kafka-qa-2:
image: 'docker.io/bitnami/kafka:3.3.2-debian-11-r4'
hostname: kafka-qa-2
container_name: kafka-qa-2
restart: always
ports:
- 9095:9095
networks:
- portal_qa
deploy:
placement:
constraints:
- "node.hostname==tt-test-01"
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-qa-1:2181,zookeeper-qa-2:2181,zookeeper-qa-3:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CFG_ADVERTISED_LISTENERS=EXTERNAL://:9095
- KAFKA_INTER_BROKER_LISTENER_NAME=EXTERNAL
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
- KAFKA_CFG_LISTENERS=EXTERNAL://:9095
- KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=3
- BITNAMI_DEBUG=true
volumes:
- 'kafka-qa-2-data:/bitnami'
depends_on:
- zookeeper-qa-1
- zookeeper-qa-2
- zookeeper-qa-3
kafka-qa-3:
image: 'docker.io/bitnami/kafka:3.3.2-debian-11-r4'
hostname: kafka-qa-3
container_name: kafka-qa-3
restart: always
ports:
- 9094:9094
networks:
- portal_qa
deploy:
placement:
constraints:
- "node.hostname==tt-test-01"
environment:
- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper-qa-1:2181,zookeeper-qa-2:2181,zookeeper-qa-3:2181
- ALLOW_PLAINTEXT_LISTENER=yes
- KAFKA_CFG_ADVERTISED_LISTENERS=EXTERNAL://:9094
- KAFKA_INTER_BROKER_LISTENER_NAME=EXTERNAL
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
- KAFKA_CFG_LISTENERS=EXTERNAL://:9094
- KAFKA_CFG_DEFAULT_REPLICATION_FACTOR=3
- BITNAMI_DEBUG=true
volumes:
- 'kafka-qa-3-data:/bitnami'
depends_on:
- zookeeper-qa-1
- zookeeper-qa-2
- zookeeper-qa-3
kafka_manager:
image: hlebalbau/kafka-manager:stable
container_name: kafka_manager
restart: always
ports:
- "9101:9000"
networks:
- portal_qa
deploy:
placement:
constraints:
- "node.hostname==tt-test-01"
environment:
ZK_HOSTS: "zookeeper-qa-1:2181,zookeeper-qa-2:2181,zookeeper-qa-3:2181"
APPLICATION_SECRET: "random-secret"
command: -Dpidfile.path=/dev/null
volumes:
kafka-qa-1-data:
driver: local
driver_opts:
type: none
device: /data/container_volumes/kafka-qa-1-data
o: bind
kafka-qa-2-data:
driver: local
driver_opts:
type: none
device: /data/container_volumes/kafka-qa-2-data
o: bind
kafka-qa-3-data:
driver: local
driver_opts:
type: none
device: /data/container_volumes/kafka-qa-3-data
o: bind
zookeeper-qa-1-data:
driver: local
driver_opts:
type: none
device: /data/container_volumes/zookeeper-qa-1-data
o: bind
zookeeper-qa-2-data:
driver: local
driver_opts:
type: none
device: /data/container_volumes/zookeeper-qa-2-data
o: bind
zookeeper-qa-3-data:
driver: local
driver_opts:
type: none
device: /data/container_volumes/zookeeper-qa-3-data
o: bind
networks:
portal_qa:
external: true