Galera cluster deployment based on docker swarm using Linux Containers (LXC) with automatic deployment via Ansible.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

109 lines
2.3 KiB

version: '3.2'
services:
db_cluster_node1:
image: ubuntu:galera-node-worker1
# environment:
# - NODENAME={{.Node.Hostname}}
# - NODEID={{.Node.ID}}
# - SERVICEID={{.Service.ID}}
# - SERVICENAME={{.Service.Name}}
# - TASKID={{.Task.ID}}
# - TASKNAME={{.Task.Name}}
# - TASKREPID={{.Task.Slot}}
hostname: node1
# Storage volume
volumes:
- /var/container_data/mysql:/var/lib/mysql
networks:
galera_net:
ipv4_address: 10.0.3.10
deploy:
# Replicated mode
mode: replicated
replicas: 1
restart_policy:
delay: 10s
max_attempts: 10
window: 60s
placement:
# Services must run only on workers with one service per container
constraints:
- node.labels.node1 == true
- node.role == worker
#- node.group == galera
ports:
- mode: host
# target: 3306
# published: 3306
target: 4567
published: 4567
# target: 4568
# published: 4568
# target: 4568
# published: 4568
#- "10.0.3.100:3306:3306"
#- "10.0.3.100:4567:4567"
#- "10.0.3.100:4568:4568"
#- "10.0.3.100:4444:4444"
db_cluster_node2:
image: ubuntu:galera-node-worker2
# environment:
# - NODENAME={{.Node.Hostname}}
# - NODEID={{.Node.ID}}
# - SERVICEID={{.Service.ID}}
# - SERVICENAME={{.Service.Name}}
# - TASKID={{.Task.ID}}
# - TASKNAME={{.Task.Name}}
# - TASKREPID={{.Task.Slot}}
hostname: node2
# Storage volume
volumes:
- /var/container_data/mysql:/var/lib/mysql
networks:
galera_net:
ipv4_address: 10.0.3.11
deploy:
# Replicated mode
mode: replicated
replicas: 1
restart_policy:
delay: 10s
max_attempts: 10
window: 60s
placement:
# Services must run only on workers with one service per container
constraints:
- node.labels.node2 == true
- node.role == worker
# - node.group == galera
depends_on:
- db_cluster_node1
ports:
- mode: host
target: 4567
published: 4567
# - "10.0.3.101:3306:3306"
# - "10.0.3.101:4567:4567"
# - "10.0.3.101:4568:4568"
# - "10.0.3.101:4444:4444"
networks:
galera_net: