137 lines
2.9 KiB
YAML
137 lines
2.9 KiB
YAML
# Master Deployment
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: mysql-master
|
|
name: mysql-master
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: mysql-master
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: mysql-master
|
|
spec:
|
|
containers:
|
|
- name: mysql-master
|
|
image: mariadb:10.3
|
|
env:
|
|
- name: MARIADB_ROOT_PASSWORD
|
|
value: "123456"
|
|
- name: MARIADB_REPLICATION_USER
|
|
value: "replicator"
|
|
- name: MARIADB_REPLICATION_PASSWORD
|
|
value: "replicator123"
|
|
- name: MARIADB_DATABASE
|
|
value: "app_db"
|
|
ports:
|
|
- containerPort: 3306
|
|
volumeMounts:
|
|
- name: master-data
|
|
mountPath: /var/lib/mysql
|
|
- name: master-config
|
|
mountPath: /etc/mysql/
|
|
- name: master-log
|
|
mountPath: /var/log/mysql
|
|
volumes:
|
|
- name: master-data
|
|
nfs:
|
|
server: 10.3.202.100
|
|
path: /root/data/nfs/mysql-master/data
|
|
- name: master-config
|
|
nfs:
|
|
server: 10.3.202.100
|
|
path: /root/data/nfs/mysql-master/conf
|
|
- name: master-log
|
|
nfs:
|
|
server: 10.3.202.100
|
|
path: /root/data/nfs/mysql-master/log
|
|
|
|
---
|
|
|
|
# Slave Deployment
|
|
apiVersion: apps/v1
|
|
kind: Deployment
|
|
metadata:
|
|
labels:
|
|
app: mysql-slave
|
|
name: mysql-slave
|
|
spec:
|
|
replicas: 1
|
|
selector:
|
|
matchLabels:
|
|
app: mysql-slave
|
|
template:
|
|
metadata:
|
|
labels:
|
|
app: mysql-slave
|
|
spec:
|
|
containers:
|
|
- name: mysql-slave
|
|
image: mariadb:10.3
|
|
env:
|
|
- name: MARIADB_ROOT_PASSWORD
|
|
value: "123456"
|
|
- name: MARIADB_MASTER_HOST
|
|
value: "mysql-master"
|
|
- name: MARIADB_REPLICATION_USER
|
|
value: "replicator"
|
|
- name: MARIADB_REPLICATION_PASSWORD
|
|
value: "replicator123"
|
|
- name: MARIADB_MASTER_PORT
|
|
value: "3306"
|
|
ports:
|
|
- containerPort: 3306
|
|
volumeMounts:
|
|
- name: slave-data
|
|
mountPath: /var/lib/mysql
|
|
- name: slave-config
|
|
mountPath: /etc/mysql/
|
|
- name: slave-log
|
|
mountPath: /var/log/mysql
|
|
volumes:
|
|
- name: slave-data
|
|
nfs:
|
|
server: 10.3.202.100
|
|
path: /root/data/nfs/mysql-slave/data
|
|
- name: slave-config
|
|
nfs:
|
|
server: 10.3.202.100
|
|
path: /root/data/nfs/mysql-slave/conf
|
|
- name: slave-log
|
|
nfs:
|
|
server: 10.3.202.100
|
|
path: /root/data/nfs/mysql-slave/log
|
|
|
|
---
|
|
|
|
# Master Service
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: mysql-master
|
|
spec:
|
|
selector:
|
|
app: mysql-master
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 3306
|
|
targetPort: 3306
|
|
|
|
---
|
|
|
|
# Slave Service
|
|
apiVersion: v1
|
|
kind: Service
|
|
metadata:
|
|
name: mysql-slave
|
|
spec:
|
|
selector:
|
|
app: mysql-slave
|
|
type: ClusterIP
|
|
ports:
|
|
- port: 3306
|
|
targetPort: 3306 |