2023년 6월 10일
sudo -i
ls
cd /home/<사용자명>
mkdir -p /home/gkfn185/mysql
sudo chmod -R 777 /home/gkfn185/mysql
sudo chown -R 999:999 /home/gkfn185/mysql
ls
sudo vi /etc/exports
/home/gkfn185/mysql 192.168.219.*(rw,sync,no_subtree_check,no_root_squash)
systemctl restart nfs-kernel-server
exportfs -v
이제 마스터 노드에 와서 pv 즉 persistent volume 부터 설정하도록 하겠습니다.
mkdir duplication-mysql-statefulset
cd duplication-mysql-statefulset
vi duplication-mysql-configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: mysql
labels:
app: mysql
app.kubernetes.io/name: mysql
data:
primary.cnf: |
# Apply this config only on the primary.
[mysqld]
log-bin
replica.cnf: |
# Apply this config only on replicas.
[mysqld]
super-read-only
kubectl apply -f duplication-mysql-configmap.yaml
vi duplication-mysql-service.yaml
apiVersion: v1
kind: Service
metadata:
name: mysql
labels:
app: mysql
app.kubernetes.io/name: mysql
spec:
ports:
- name: mysql
port: 3306
clusterIP: None
selector:
app: mysql
---
# Client service for connecting to any MySQL instance for reads.
# For writes, you must instead connect to the primary: mysql-0.mysql.
apiVersion: v1
kind: Service
metadata:
name: mysql-read
labels:
app: mysql
app.kubernetes.io/name: mysql
readonly: "true"
spec:
ports:
- name: mysql
port: 3306
selector:
app: mysql