brunch

8. nhn클라우드- nks -Wordpress

추가 테스트 필요

by Master Seo


Wordpress - mysql DB 블로그

https://kubernetes.io/ko/docs/tutorials/stateful-application/mysql-wordpress-persistent-volume/



<1> NFS 사용을 위한 설정

<2> PV(NFS) 2개 생성

<3> kustomization.yaml 생성

<4> 접속 → 첫글 써보기

<5> 삭제

<6> 정리



<1> NFS 사용을 위한 설정


kubectl create namespace wordpress

k ns wordpress


1

mkdir /nfs4-share

mkdir /nfs4-share2

echo '/nfs4-share *(rw,sync,no_root_squash)' >> /etc/exports

echo '/nfs4-share2 *(rw,sync,no_root_squash)' >> /etc/exports

systemctl restart nfs-server


# nfs 설정 정상 확인

exportfs

exportfs -v


showmount -e 127.0.0.1

ss -tnlp | head -1 ; ss -tnlp | grep 0.0.0.0:2049

yum install install nfs-common -y




<2> PV(NFS) 2개 생성



1

cat <<EOF | kubectl create -f -

apiVersion: v1

kind: PersistentVolume

metadata:

name: mysql-nfs-pv

spec:

capacity:

storage: 20Gi

accessModes:

- ReadWriteOnce # ReadWriteOnce RWO (1:1 마운트, 읽기 쓰기)

nfs:

server: 192.168.254.200 # NFS-Server 의 IP

path: /nfs4-share # NFS 저장소

---

apiVersion: v1

kind: PersistentVolume

metadata:

name: wp-nfs-pv

spec:

capacity:

storage: 20Gi

accessModes:

- ReadWriteOnce

nfs:

server: 192.168.254.200 # NFS-Server 의 IP

path: /nfs4-share2 # NFS 저장소

EOF



2

nfs 서버를 worker ip 로 해봄.

쿠버네티스의 경우 master node ip 로 테스트 함.


NfsServerIP=10.0.0.20

cat <<EOF | kubectl create -f -

apiVersion: v1

kind: PersistentVolume

metadata:

name: mysql-nfs-pv

spec:

capacity:

storage: 20Gi

accessModes:

- ReadWriteOnce

nfs:

server: $NfsServerIP

path: /nfs4-share

---

apiVersion: v1

kind: PersistentVolume

metadata:

name: wp-nfs-pv

spec:

capacity:

storage: 20Gi

accessModes:

- ReadWriteOnce

nfs:

server: $NfsServerIP

path: /nfs4-share2

EOF


확인

kubectl get pv -o wide



<3> kustomization.yaml 생성


Mysql 파드의 시크릿 생성 정보 추가 → mysql wordpress yaml 다운로드 → 생성

kustomize 는 자주 사용되는 YAML 파일의 속성을 별도로 정의해 재사용하거나 여러 YAML 파일을 하나로 묶는 등 다양한 용도로 사용할 수 있는 기능



MysqlDbPW=qwe123


mkdir yaml && cd yaml


cat <<EOF >./kustomization.yaml

secretGenerator:

- name: mysql-pass

literals:

- password=$MysqlDbPW

resources:

- mysql-deployment.yaml

- wordpress-deployment.yaml

EOF


curl -LO https://k8s.io/examples/application/wordpress/mysql-deployment.yaml

curl -LO https://k8s.io/examples/application/wordpress/wordpress-deployment.yaml

sed -i 's/type: LoadBalancer/type: NodePort/g' wordpress-deployment.yaml

ls



<4> 접속 → 첫글 써보기




<5> 삭제


삭제

kubectl delete -k ./


kubectl delete pv --all




<6> 정리




감사합니다.



keyword
매거진의 이전글7. nhn클라우드- nks-guestbook