2023년 6월 10일

sudo -i
ls
cd /home/<사용자명>

Untitled

mkdir -p /home/gkfn185/mysql
sudo chmod -R 777 /home/gkfn185/mysql
sudo chown -R 999:999 /home/gkfn185/mysql
ls

Untitled

sudo vi /etc/exports

Untitled

/home/gkfn185/mysql        192.168.219.*(rw,sync,no_subtree_check,no_root_squash)
systemctl restart nfs-kernel-server
exportfs -v

Untitled

이제 마스터 노드에 와서 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