91 lines
2.8 KiB
YAML
91 lines
2.8 KiB
YAML
version: '3.8'
|
|
networks:
|
|
default:
|
|
name: ${NAMESPACE}
|
|
external: true
|
|
services:
|
|
mysql-master:
|
|
image: docker.io/bitnami/mysql:8.0
|
|
hostname: ${NAMESPACE}-tool-mysql-master
|
|
ports:
|
|
- '${NODE_PORT_MASTER}:3306'
|
|
volumes:
|
|
- 'mysql_repl_master_data:/bitnami/mysql/data'
|
|
environment:
|
|
- MYSQL_REPLICATION_MODE=master
|
|
- MYSQL_REPLICATION_USER=repl_user
|
|
- MYSQL_REPLICATION_PASSWORD=${MYSQL_REPLICATION_PASSWORD}
|
|
# - MYSQL_DATABASE=my_database
|
|
# ALLOW_EMPTY_PASSWORD is recommended only for development.
|
|
- MYSQL_USER=${MYSQL_USER}
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
|
- MYSQL_AUTHENTICATION_PLUGIN=mysql_native_password
|
|
- MYSQL_ENABLE_SLOW_QUERY=0
|
|
- MYSQL_LONG_QUERY_TIME=10
|
|
configs:
|
|
- source: custome_config_master
|
|
target: /opt/bitnami/mysql/conf/my_custom.cnf
|
|
healthcheck:
|
|
test: ['CMD', '/opt/bitnami/scripts/mysql/healthcheck.sh']
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 6
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
placement:
|
|
constraints: [node.hostname == ZD-CRM2]
|
|
mysql-slave:
|
|
image: docker.io/bitnami/mysql:8.0
|
|
hostname: ${NAMESPACE}-tool-mysql-slave
|
|
ports:
|
|
- '${NODE_PORT_SLAVE}:3306'
|
|
volumes:
|
|
- 'mysql_repl_slave_data:/bitnami/mysql/data'
|
|
depends_on:
|
|
- mysql-master
|
|
environment:
|
|
- MYSQL_REPLICATION_MODE=slave
|
|
- MYSQL_REPLICATION_USER=repl_user
|
|
- MYSQL_REPLICATION_PASSWORD=${MYSQL_REPLICATION_PASSWORD}
|
|
# - MYSQL_DATABASE=my_database
|
|
- MYSQL_MASTER_HOST=mysql-master
|
|
- MYSQL_MASTER_PORT_NUMBER=3306
|
|
- MYSQL_MASTER_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
|
- MYSQL_USER=${MYSQL_USER}
|
|
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
|
|
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
|
|
- MYSQL_AUTHENTICATION_PLUGIN=mysql_native_password
|
|
- MYSQL_ENABLE_SLOW_QUERY=0
|
|
- MYSQL_LONG_QUERY_TIME=10
|
|
# ALLOW_EMPTY_PASSWORD is recommended only for development.
|
|
# - ALLOW_EMPTY_PASSWORD=yes
|
|
# In case of missing binary files on master, use `true` to reset those binary files. Creating a previous backup is recommended.
|
|
- MYSQL_REPLICATION_SLAVE_DUMP=false
|
|
healthcheck:
|
|
test: ['CMD', '/opt/bitnami/scripts/mysql/healthcheck.sh']
|
|
interval: 15s
|
|
timeout: 5s
|
|
retries: 6
|
|
configs:
|
|
- source: custome_config_slave
|
|
target: /opt/bitnami/mysql/conf/my_custom.cnf
|
|
deploy:
|
|
mode: replicated
|
|
replicas: 1
|
|
placement:
|
|
constraints: [node.hostname == ZD-CRM3]
|
|
volumes:
|
|
mysql_repl_master_data:
|
|
driver: local
|
|
mysql_repl_slave_data:
|
|
driver: local
|
|
|
|
configs:
|
|
custome_config_master:
|
|
external: true
|
|
name: ${CUSTOME_CONFIG_MASTER}
|
|
custome_config_slave:
|
|
external: true
|
|
name: ${CUSTOME_CONFIG_SLAVE} |