์ฑํฐ6: ๋ณผ๋ฅจ: ์ปจํ ์ด๋์ ๋์คํฌ ์คํ ๋ฆฌ์ง ์ฐ๊ฒฐ
*๋ค๋ฃจ๋ ๋ด์ฉ
- ๋ค์ค ์ปจํ ์ด๋ ํ๋ ์์ฑ
- ์ปจํ ์ด๋ ๊ฐ ๋์คํฌ ์คํ ๋ฆฌ์ง๋ฅผ ๊ณต์ ํ๊ธฐ ์ํ ๋ณผ๋ฅจ ์์ฑ
- ํ๋ ๋ด๋ถ์ ๊น ๋ฆฌํฌ์งํ ๋ฆฌ ์ฌ์ฉ
- ํ๋์ GCE ํผ์์คํดํธ ๋์คํฌ์ ๊ฐ์ ํผ์์คํดํธ ์คํ ๋ฆฌ์ง ์ฐ๊ฒฐ
- ์ฌ์ ํ๋ก๋น์ ๋๋ ํผ์์คํดํธ ์คํ ๋ฆฌ์ง
- ํผ์์คํดํธ ์คํ ๋ฆฌ์ง์ ๋์ ํ๋ก๋น์ ๋
์๋ก์ด ์ปจํ ์ด๋๊ฐ ์์ํ ๋๋ง๋ค ์ปจํ ์ด๋ ์ด๋ฏธ์ง๋ฅผ ๋นํํ ๋ ์ถ๊ฐํ ํ์ผ๋ค์ ๊ฐ๋ ์ปจํ ์ด๋๋ฅผ ์์ํ๋ค.
→ ์๋ก ์์ํ ์ปจํ ์ด๋๋ ์ด์ ์ ์คํํ๋ ์ปจํ ์ด๋์ ์ฐ์ฌ์ง ํ์ผ์์คํ ์ ์ด๋ค ๊ฒ๋ ๋ณผ ์ ์๋ค.
์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ์ ํ๋์ ์ผ๋ถ๋ถ์ผ๋ก ์ ์๋๋ฉฐ ํ๋์ ๋์ผํ ๋ผ์ดํ์ฌ์ดํด์ ๊ฐ์ง๋ค.
→ ์ด ๋๋ฌธ์ ๋ณผ๋ฅจ์ ์ฝํ ์ธ ๋ ์ปจํ ์ด๋๋ฅผ ๋ค์ ์์ํด๋ ์ง์๋๋ค.
6.1 ๋ณผ๋ฅจ ์๊ฐ
- ์ฟ ๋ฒ๋คํฐ์ค ๋ณผ๋ฅจ์ ํ๋์ ๊ตฌ์ฑ์์๋ก ์ปจํ ์ด๋์ ๋์ผํ๊ฒ ํ๋ ์คํ์์ ์ ์๋๋ค.
- ๋ณผ๋ฅจ์ ๋ ๋ฆฝ์ ์ธ ์ฟ ๋ฒ๋คํฐ์ค ์ค๋ธ์ ํธ๊ฐ ์๋๋ฏ๋ก ์์ฒด์ ์ผ๋ก ์์ฑ,์ญ์ ๋ ์ ์๋ค.
6.1.1 ์์ ์ ๋ณผ๋ฅจ ์ค๋ช
- ์ธ ์ปจํ ์ด๋๊ฐ ๋ ๋ฆฝ์ ์ผ๋ก ์์ง๋ง ๊ฐ๊ฐ ์ปจํ ์ด๋ ์์ฒด๋ง์ผ๋ก๋ ํฐ ์ธ๋ชจ๊ฐ ์๋ค.
- ๋ณผ๋ฅจ ๋๊ฐ๋ฅผ ํ๋์ ์ถ๊ฐํ๊ณ ์ธ ๊ฐ์ ์ปจํ ์ด๋ ๋ด๋ถ์ ์ ์ ํ ๊ฒฝ๋ก์ ๋ง์ดํธํ๋ค๋ฉด ๋์ ์์คํ ์ด ์์ฑ๋๋ค.
- ์ด ๊ฒฝ์ฐ ๋ณผ๋ฅจ ๋๊ฐ๋ฅผ ์ปจํ ์ด๋ ์ธ ๊ฐ์ ๋ง์ดํธ ํ๋ค.
- ์ปจํ ์ด๋์ ๋ณผ๋ฅจ์ด ๊ฐ์ ํ๋์ ๊ตฌ์ฑ๋๋๋ผ๋ ์ปจํ ์ด๋๋ ๊ทธ ํ์ผ์ ์ ๊ทผํ ์ ์๋ค.
- ์์ ์ ๋ ๋ณผ๋ฅจ์ ๋น ์ํ๋ก ์ด๊ธฐํ๋๋ฏ๋ก emptyDir ์ ํ์ ๋ณผ๋ฅจ์ด๋ค.
6.1.2 ์ฌ์ฉ ๊ฐ๋ฅํ ๋ณผ๋ฅจ ์ ํ ์๊ฐ
- emptyDir: ์ผ์์ ์ธ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋๋ฐ ์ฌ์ฉ๋๋ ๊ฐ๋จํ ๋น ๋๋ ํฐ๋ฆฌ
- hostPath: ์์ปค ๋ ธ๋์ ํ์ผ์์คํ ์ ํ๋์ ๋๋ ํฐ๋ฆฌ๋ก ๋ง์ดํธํ๋๋ฐ ์ฌ์ฉ
- gitRepo: ๊น ๋ฆฌํฌ๋ฆฌ์ ํธ์ ์ฝํ ์ธ ๋ฅผ ์ฒดํฌ์์ํด ์ด๊ธฐํํ ๋ณผ๋ฅจ
- nfs: NFS ๊ณต์ ๋ฅผ ํ๋์ ๋ง์ดํธํ๋ค.
- gcePersistentDisk, awsElasticBlockStore,azureDisk: ํด๋ผ์ฐ๋ ์ ๊ณต์์ ์ ์ฉ ์คํ ๋ฆฌ์ง๋ฅผ ๋ง์ดํธํ๋๋ฐ ์ฌ์ฉํ๋ค.
- cinder, cephfs, iscsi, flocker, glusterfs, quobyte, rbd, flexVolume, vsphere Volume, photoPersistentDis, scaleIO: ๋ค๋ฅธ ์ ํ์ ๋คํธ์ํฌ ์คํ ๋ฆฌ์ง๋ฅผ ๋ง์ดํธํ๋ ๋ฐ ์ฌ์ฉํ๋ค.
- configMap, secret, downwardAPI: ์ฟ ๋ฒ๋คํฐ์ค ๋ฆฌ์์ค๋ ํด๋ฌ์คํฐ ์ ๋ณด๋ฅผ ํ๋์ ๋ ธ์ถํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํน๋ณํ ์ ํ์ ๋ณผ๋ฅจ
- persistentVolumneClaim: ์ฌ์ ์ ํน์ ๋์ ์ผ๋ก ํ๋ก๋น์ ๋๋ ํผ์์คํดํธ ์คํ ๋ฆฌ์ง๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ธ๋ค.
6.2 ๋ณผ๋ฅจ์ ์ฌ์ฉํ ์ปจํ ์ด๋ ๊ฐ ๋ฐ์ดํฐ ๊ณต์
ํ๋์ ํ๋์ ์๋ ์ฌ๋ฌ ์ปจํ ์ด๋์์ ๋ฐ์ดํฐ๋ฅผ ๊ณต์ ํ๋ ๋ฐฉ๋ฒ
6.2.1 emptyDir ๋ณผ๋ฅจ ์ฌ์ฉ
๋ณผ๋ฅจ์ด ๋น ๋๋ ํฐ๋ฆฌ๋ก ์์๋๋ค.
emptyDir ๋ณผ๋ฅจ์ ๋์ผ ํ๋์์ ์คํ ์ค์ธ ์ปจํ ์ด๋ ๊ฐ
ํ์ผ์ ๊ณต์ ํ ๋ ์ ์ฉํ๋ค.
๋จ์ผ ์ปจํ ์ด๋์์๋ ์์ ๋ฐ์ดํฐ๋ฅผ ๋์คํฌ์ ์ฐ๋ ๋ชฉ์ ์ธ ๊ฒฝ์ฐ ์ฌ์ฉํ ์ ์๋ค.
ํ๋์ emptyDir ๋ณผ๋ฅจ ์ฌ์ฉ
ํ๋ ์์ฑํ๊ธฐ
//๋์ผํ ๋ณผ๋ฅจ์ ๊ณต์ ํ๋ ์ปจํ
์ด๋๊ฐ ๋๊ฐ ์๋ ํ๋:fortune-pod.yaml
apiVersion: v1
kind: pod
metadata:
name: fortune
spec:
containers:
- image: luksa/fortune
name: html-generator //์ฒซ ๋ฒ์งธ ์ปจํ
์ด๋๋ html-generator์ด๋ฆ์ luksa/fortune ์ด๋ฏธ์ง๋ฅผ ์คํํ๋ค.
volumeMounts:
- name: html
mountPath: /var/htdocs //html์ด๋ ์ด๋ฆ์ ๋ณผ๋ฅจ์ ์ปจํ
์ด๋์ /var/htdocs์ ๋ง์ดํธํ๋ค.
- image: nginx:alpine
name: web-server //๋ ๋ฒ์งธ ์ปจํ
์ด๋
volumneMounts:
- name: html
mountPath: /usr/share/nginx/html
readOnly: true //์์ ๋์ผํ ๋ณผ๋ฅจ์ ์ฝ๊ธฐ์ ์ฉ์ผ๋ก ๋ง์ดํธํ๋ค.
ports:
- containerPort: 80
protocol: TCP
volumes:
- name: html
emptyDir: {} //html์ด๋ ๋จ์ผ emptyDir ๋ณผ๋ฅจ์ ์์ ์ปจํ
์ด๋ ๋ ๊ฐ์ ๋ง์ดํธํ๋ค
- ํ๋๋ ์ปจํ ์ด๋ ๋ ๊ฐ์ ๊ฐ ์ปจํ ์ด๋์ ๊ฐ๊ธฐ ๋ค๋ฅธ ๊ฒฝ๋ก๋ก ๋ง์ดํธ๋ ๋จ์ผ ๋ณผ๋ฅจ์ ๊ฐ๋๋ค.
- html-generator ์ปจํ ์ด๋๊ฐ ๋งค 10์ด๋ง๋ค fortune ๋ช ๋ น์ ๊ฒฐ๊ณผ๋ฅผ /var/htdocs/index.html์ ์ฐ๊ธฐ ์์ํ๋ค.
- web-server ์ปจํ ์ด๋๊ฐ ์์ ํ์๋ง์ ์ปจํ ์ด๋๋ /usr/share/nginx/html ๋๋ ํฐ๋ฆฌ์ HTMLํ์ผ์ ์๋น์คํ๊ธฐ ์์ํ๋ค.
emptyDir์ ์ฌ์ฉํ๊ธฐ ์ํ ๋งค์ฒด ์ง์ ํ๊ธฐ
์ฟ ๋ฒ๋คํฐ์ค์ emptyDir์ ๋์คํฌ๊ฐ ์๋ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ tmpfs ํ์ผ์์คํ ์ผ๋ก ์์ฑํ๋๋ก ์์ฒญํ ์ ์๋ค.
→ ์ด๋ฅผ ์ํด emptyDir์ medium์ Memory๋ก ์ง์ ํ๋ค.
volumes:
- name: html
emptyDir:
medium: Memory // ์ด emptyDir์ ํ์ผ๋ค์ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋ ๊ฒ์ด๋ค.
emptyDir ๋ณผ๋ฅจ์ ๊ฐ์ฅ ๋จ์ํ ๋ณผ๋ฅจ์ ์ ํ์ด์ง๋ง ๋ค๋ฅธ ์ ํ๋ค๋ ์ด ๋ณผ๋ฅจ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
6.2.2 ๊น ๋ฆฌํฌ์งํฐ๋ฆฌ๋ฅผ ๋ณผ๋ฅจ์ผ๋ก ์ฌ์ฉํ๊ธฐ
- gitRepo ๋ณผ๋ฅจ์ ๊ธฐ๋ณธ์ ์ผ๋ก emptyDir ๋ณผ๋ฅจ์ด๋ฉฐ ํ๋๊ฐ ์์๋๋ฉด ๊น ๋ฆฌํฌ์งํฐ๋ฆฌ๋ฅผ ๋ณต์ ํ๊ณ ํน์ ๋ฆฌ๋น์ ์
์ฒดํฌ์์ํด ๋ฐ์ดํฐ๋ก ์ฑ์ด๋ค. - gitRepo ๋ณผ๋ฅจ์ด ์์ฑ๋ ํ์๋ ์ฐธ์กฐํ๋ ๋ฆฌํฌ์งํฐ๋ฆฌ์ ๋๊ธฐํํ์ง ์๋๋ค.
- ๊น ๋ฆฌํฌ์งํฐ๋ฆฌ์ ์ถ๊ฐ ์ปค๋ฐ์ ํธ์ํด๋ ๋ณผ๋ฅจ์ ์๋ ํ์ผ์ ๋ณ๊ฒฝ๋์ง ์๋๋ค.
- ๋ ํ๋ฆฌ์ผ์ด์ ์ปจํธ๋กค๋ฌ๊ฐ ํ๋๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ ํ๋๋ฅผ ์ญ์ ํ๋ฉด ์ ํ๋๊ฐ ์์ฑ๋๊ณ ์ด ํ๋์ ๋ณผ๋ฅจ์ ์ต์ ์ปค๋ฐ์ ํฌํจํ๋ค.
๋ณต์ ๋ ๊น ๋ฆฌํฌ์งํฐ๋ฆฌ ํ์ผ์ ์๋น์คํ๋ ์น ์๋ฒ ์คํํ๊ธฐ
//gitRepo ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ํ๋: gitrepo-volume-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: gitrepo-volume-pod
spec:
containers:
- images: nginx:apline
name: web-server
volumeMounts:
- name: html
mountPath: /usr/shar/nginx/html
readOnly: true
ports:
- containerPort: 80
protocol: TCP
volumes:
- name: html
gitRepo: //๊น ๋ ํฌ ๋ณผ๋ฅจ ์์ฑ
reqpository: ๊น ๋ ํฌ์งํ ์ง.git //๋ณผ๋ฅจ์ ์ด ๊น ๋ฆฌํฌ์งํฐ๋ฆฌ๋ฅผ ๋ณต์
revision: master //master ๋ธ๋์น๋ฅผ ์ฒดํฌ์์
directory: . //๋ณผ๋ฅจ์ ๋ฃจํธ ๋๋ ํฐ๋ฆฌ์ ๋ฆฌํฌ์งํฐ๋ฆฌ๋ฅผ ๋ณต์
- ํ๋๋ฅผ ์์ฑํ๋ฉด ๋ณผ๋ฅจ์ ๋จผ์ ๋น ๋๋ ํฐ๋ฆฌ๋ฅผ ์ด๊ธฐํํ๊ณ ํน์ ๊น ๋ ํฌ๋ฅผ ๋ณต์ ํ๋ค.
- ๋๋ ํ ๋ฆฌ๋ฅผ . ์ผ๋กํ์๊ธฐ์ ๋ณผ๋ฅจ์ ๋ฃจํธ ๋๋ ํ ๋ฆฌ์ ๋ณต์ ๋๋ค.
๊น ๋ฆฌํฌ์งํฐ๋ฆฌ์ ํ์ผ ๋๊ธฐํ ์ฌ๋ถ ํ์ธํ๊ธฐ
๊น ๋ฆฌํฌ์งํฐ๋ฆฌ์ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋์ ์ ๋ฒ์ ์ ๋ณด๋ ค๋ฉด ํ๋๋ฅผ ์ญ์ ํ๊ณ ๋ค์ ์์ฑํด์ผ ํ๋ค.
→ ๋ณ๊ฒฝ ์ฌํญ์ด ์์ ๋ ๋ง๋ค ํ๋๋ฅผ ์ญ์ ํ๋ ๋์ ๋ณผ๋ฅจ์ด ํญ์ ๊น ๋ฆฌํฌ๋ฅผ ๋๊ธฐํํ๋๋ก ์ถ๊ฐ ํ๋ก์ธ์ค๋ฅผ ์คํํ ์ ์๋ค.
์ฌ์ด๋์นด ์ปจํ ์ด๋ ์๊ฐ
์ฌ์ด๋์นด ์ปจํ ์ด๋๋ ํ๋์ ์ฃผ ์ปจํ ์ด๋์ ๋์์ ๋ณด์ํ๋ค.
๋์ปค ํ๋ธ์ “git sync” ์ด๋ฏธ์ง๋ฅผ ํตํด ๊น ๋ ํฌ๋ณผ๋ฅจ๋ฅผ ์ต์ ์ผ๋ก ์ ์งํ ์ ์๋ค.
์์ ์ ํ๋์์ ์ ์ปจํ ์ด๋์ ์ด ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๊ณ ๊ธฐ์กด ๊น ๋ ํฌ๋ณผ๋ฅจ์ ์ ์ปจํ ์ด๋์ ๋ง์ดํธํ ๋ค,
๊น ๋๊ธฐํ ์ปจํ ์ด๋๊ฐ ๊น ๋ฆฌํฌ์งํฐ๋ฆฌ์ ํ์ผ ๋๊ธฐํ๋ฅผ ์ ์งํ๋๋ก ์ค์ ํ๋ค.
ํ๋ผ์ด๋น ๊น ๋ฆฌํฌ์งํฐ๋ฆฌ๋ก gitRepo ๋ณผ๋ฅจ ์ฌ์ฉํ๊ธฐ
ํ๋ผ์ด๋น ๊น ๋ฆฌํฌ์งํฐ๋ฆฌ๋ฅด ์ปจํ ์ด๋์ ๋ณต์ ํ๋ ค๋ฉด ๊น ๋๊ธฐํ ์ฌ์ด๋์นด๋ git Repo ๋ณผ๋ฅจ์ ๋์ ํ๋ ๋ค๋ฅธ ์ ์ฌ ๋ฐฉ๋ฒ์ ์ฌ์ฉํด์ผ ํ๋ค.
gitRepo ๋ณผ๋ฅจ์ ๋ํ ์ ๋ฆฌ
๋ณผ๋ฅจ์ ํฌํจํ๋ ํ๋๋ฅผ ์ํด ํน๋ณํ ์์ฑ๋๊ณ ๋ ์ ์ ์ผ๋ก ์ฌ์ฉ๋๋ ์ ์ฉ ๋๋ ํฐ๋ฌ๋ค.
6.3 ์์ปค ๋ ธ๋ ํ์ผ์์คํ ์ ํ์ผ ์ ๊ทผ
ํน์ ์์คํ ๋ ๋ฒจ์ ํ๋๋ ๋ ธ๋์ ํ์ผ์ ์ฝ๊ฑฐ๋ ํ์ผ์์คํ ์ ํตํด ๋ ธ๋ ๋๋ฐ์ด์ค๋ฅผ ์ ๊ทผํ๊ธฐ ์ํด ๋ ธ๋์ ํ์ผ์์คํ ์ ์ฌ์ฉํด์ผ ํ๋ค.
→ ์ฟ ๋ฒ๋คํฐ์ค๋ hostPath ๋ณผ๋ฅจ์ผ๋ก ๊ฐ๋ฅ์ผ ํ๋ค.
6.3.1 hostPath ๋ณผ๋ฅจ ์๊ฐ
- hostPath ๋ณผ๋ฅจ์ ๋ ธ๋ ํ์ผ์์คํ ์ ํน์ ํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ๋ฅผ ๊ฐ๋ฆฌํจ๋ค.
- hostPath ๋ณผ๋ฅจ์ ์ฝํ ์ธ ๋ ํ๋๊ฐ ์ข ๋ฃ๋์ด๋ ์ญ์ ๋์ง ์๋๋ค.
- ํ๋๊ฐ ์ญ์ ๋๋ฉด ๋ค์ ํ๋๊ฐ ํธ์คํธ์ ๋์ผ ๊ฒฝ๋ก๋ฅผ ๊ฐ๋ฆฌํค๋ hostPath ๋ณผ๋ฅจ์ ์ฌ์ฉํ๊ณ , ์ด์ ํ๋์ ๋์ผํ ๋ ธ๋์ ์ค์ผ์ค๋ง๋๋ค๋ ์กฐ๊ฑด์์ ์๋ก์ด ํ๋๋ ์ด์ ํ๋๊ฐ ๋จ๊ธด ๋ชจ๋ ํญ๋ชฉ์ ๋ณผ ์ ์๋ค.
6.3.2 hostPath ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ์์คํ ํ๋ ๊ฒ์ฌํ๊ธฐ
๋๋ถ๋ถ์ด ๋ ธ๋์ ๋ก๊ทธํ์ผ์ด๋ kubeconfig, CA ์ธ์ฆ์๋ฅผ ์ ๊ทผํ๊ธฐ ์ํด ์ด ์ ํ์ ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
๊ทธ์ค ์ด๋ ๊ฒ๋ hostPath ๋ณผ๋ฅจ์ ์์ฒด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๋ชฉ์ ์ผ๋ก ์ฌ์ฉํ์ง ์๋๋ค๋ ๊ฒ์ ๋ณผ ์ ์๋ค.
6.4 ํผ์์คํดํธ ์คํ ๋ฆฌ์ง ์ฌ์ฉ
ํ๋์์ ์คํ ์ค์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์คํฌ์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํด์ผํ๊ณ ๋ค๋ฅธ ๋ ธ๋๋ก ์ฌ์ค์ผ์ค๋ง๋ ๊ฒฝ์ฐ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์งํด์ผํ๋ค๋ฉด ์ด๋ฌํ ๋ฐ์ดํฐ๋ ํด๋ฌ์คํฐ ๋ ธ๋์์๋ ์ ๊ทผ์ด ํ์ํ๊ธฐ ๋๋ฌธ์ NAS(Network-Attached Storage)์ ํ์ ์ ์ฅ๋ผ์ผ ํ๋ค.
6.4.1 GCE ํผ์์คํดํธ ๋์คํฌ๋ฅผ ํ๋ ๋ณผ๋ฅจ์ผ๋ก ์ฌ์ฉํ๊ธฐ
GCE ํผ์์คํดํธ ๋์คํฌ ์์ฑํ๊ธฐ
์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๊ฐ ์๋ ๋์ผํ ์์ญ์ ์์ฑํ๋ค.
- ์ด ๋ช ๋ น์ mongodb๋ผ๊ณ ์ด๋ฆ ๋ถ์ฌ์ง 1GB ํฌ๊ธฐ์ GCE ํผ์์คํดํธ ๋์คํฌ๋ฅผ ์์ฑํ๋ค.
GCE ํผ์์คํดํธ ๋์คํฌ ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ํ๋ ์์ฑํ๊ธฐ
//gcePersistentDisk ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ํ๋: mongodb-pod-gcepd.yaml
apiVersion: v1
kind: Pod
metadata:
name: mongodb
spec:
volumes:
- name: mongodb-data
gcePersistentDisk: //๋ณผ๋ฅจ์ ์ ํ์ GCEํผ์์คํดํธ ๋์คํฌ
pdName: mongodb //ํผ์์คํดํธ ๋์คํฌ์ ์ด๋ฆ์ ๋ฐ๋์ ์ด์ ์ ์์ฑํ ์ค์ PD์ ์ผ์นํด์ผํ๋ค.
fsType: ext4 //ํ์ผ์์คํ
์ ํ์ EXT4
containers:
- image: mongo
name: mongodb
volumeMounts:
- name: mongodb-data
mountPath: /data/db //MongoDB๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๊ฒฝ๋ก๋ค.
ports:
- containerPort: 27017
protocol: TCP
- ํ๋๋ ์์ฑํ GCE ํผ์์คํดํธ ๋์คํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ ๋จ์ผ ๋ณผ๋ฅจ๊ณผ ๋จ์ผ ์ปจํ
์ด๋๋ก ์ด๋ค์ง๋ค.
๋ณผ๋ฅจ์ ์ปจํ ์ด๋ ๋ด๋ถ์ MongoDB๊ฐ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ /data/db์ ๋ง์ดํธํ๋ค.
MongoDB ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ๋จผํธ๋ฅผ ์ถ๊ฐํด ํผ์์คํดํธ ์คํ ๋ฆฌ์ง์ ๋ฐ์ดํฐ ์ฐ๊ธฐ
์ปจํ ์ด๋ ๋ด๋ถ์ MongoDB ์ ธ์ ์คํํด ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง์ ๋ฐ์ดํฐ๋ฅผ ์ฐ๋๋ฐ ์ฌ์ฉํ ์ ์๋ค.
GCE ํผ์์คํดํธ ๋์คํฌ๋ฅผ ํ๋ ์ธ์คํด์ค ์ฌ๋ฌ ๊ฐ์์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ค.
6.4.2 ๊ธฐ๋ฐ ํผ์์คํดํธ ์คํ ๋ฆฌ์ง๋ก ๋ค๋ฅธ ์ ํ์ ๋ณผ๋ฅจ ์ฌ์ฉํ๊ธฐ
๊ตฌ๊ธ ์ฟ ๋ฒ๋คํฐ์ค ์์ง - GCE ํผ์์คํดํธ ๋์คํฌ ๋ณผ๋ฅจ
AWS EC2 - awsElasticBlockStore
Azure - azureFile, azureDisk
NFS ๋ณผ๋ฅจ ์ฌ์ฉํ๊ธฐ
ํด๋ฌ์คํฐ๊ฐ ์ฌ๋ฌ ๋์ ์๋ฒ๋ก ์คํ๋๋ ๊ฒฝ์ฐ ์ธ์ฅ ์คํ ๋ฆฌ์ง๋ฅผ ๋ณผ๋ฅจ์ ๋ง์ดํธํ๊ธฐ ์ํด ๋ค์ํ ์ง์ ์ต์ ์ด ์ ๊ณต๋๋ค.
...
volumes:
- name: mongodb-data
nfs: //์ด ๋ณผ๋ฅจ์ NFS ๊ณต์ ๋ฅผ ์ฌ์ฉํ๋ค.
server: 1.2.3.4 //NFS ์๋ฒ์ IP
path: /some/path //์๋ฒ์ ์ต์คํฌํธ๋ ๊ฒฝ๋ก
NFS ๊ณต์ ๋ฅผ ๋ง์ดํธํ๊ธฐ ์ํด ์์๊ฐ์ด NFS์๋ฒ์ ์๋ฒ์์ ์ต์คํฌํธ ๊ฒฝ๋ก๋ฅผ ์ง์ ํ๋ฉด ๋๋ค.
๋ค๋ฅธ ์คํ ๋ฆฌ์ง ๊ธฐ์ ์ฌ์ฉํ๊ธฐ
๋์ผํ ํ๋ ์ ์๋ฅผ ๋ค๋ฅธ ํด๋ฌ์คํฐ์์๋ ์ฌ์ฉํ ์ ์๋ค.
6.5 ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง ๊ธฐ์ ๊ณผ ํ๋ ๋ถ๋ฆฌ
์ธํ๋ผ์คํธ๋ญ์ฒ ๊ด๋ จ ์ฒ๋ฆฌ๋ ํด๋ฌ์คํฐ ๊ด๋ฆฌ์๋ง์ ์์ญ์ด์ด์ผ ํ๋ค.
6.5.1 ํผ์์คํดํธ๋ณผ๋ฅจ๊ณผ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์ ์๊ฐ
์ธํ๋ผ์คํธ๋ญ์ฒ์ ์ธ๋ถ ์ฌํญ์ ์ฒ๋ฆฌํ์ง ์๊ณ ์ ํ๋ฆฌ์ผ์ด์
์ด ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์ ์คํ ๋ฆฌ์ง๋ฅผ
์์ฒญํ ์ ์๋๋ก ํ๊ธฐ ์ํ ์๋ก์ด ๋ฆฌ์์ค 2๊ฐ
- ํผ์์คํดํธ ๋ณผ๋ฅจ
- ํผ์์คํดํธ ๋ณผ๋ฅจ ํด๋ ์
- ํด๋ฌ์คํฐ ๊ด๋ฆฌ์๊ฐ ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง๋ฅผ ์ค์ ํ๊ณ ์ฟ ๋ฒ๋คํฐ์ค API ์๋ฒ๋ก ํผ์์คํดํธ ๋ณผ๋ฅจ ๋ฆฌ์์ค๋ฅผ ์์ฑํด ์ฟ ๋ฒ๋คํฐ์ค์ ๋ฑ๋กํ๋ค.
- ํผ์์คํดํธ๋ณผ๋ฅจ์ด ์์ฑ๋๋ฉด ๊ด๋ฆฌ์๋ ํฌ๊ธฐ์ ์ง์ ๊ฐ๋ฅํ ์ ๊ทผ ๋ชจ๋๋ฅผ ์ง์
- ํด๋ฌ์คํฐ ์ฌ์ฉ์๋ ์ ๊ทผ ๋ชจ๋๋ฅผ ๋ช
์ํ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์ ๋งค๋ํ์คํธ๋ฅผ ์์ฑํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ฟ ๋ฒ๋คํฐ์ค API ์๋ฒ์ ๊ฒ์ํ๊ณ ์ฟ ๋ฒ๋ ์ ์ ํ ํผ์์คํดํธ ๋ณผ๋ฅจ์ ์ฐพ์ ํด๋ ์์ ๋ณผ๋ฅจ์ ๋ฐ์ธ๋ฉํ๋ค. - ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ ํ๋ ๋ด๋ถ์ ๋ณผ๋ฅจ ์ค ํ๋๋ก ์ฌ์ฉ๋ ์ ์๋ค.
- ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ ๋ฐ์ธ๋ฉ์ ์ญ์ ํด ๋ฆด๋ฆฌ์ค๋ ๋๊น์ง ๋ค๋ฅธ ์ฌ์ฉ์๋ ๋์ผํ ํผ์์คํดํธ ๋ณผ๋ฅจ์ ์ฌ์ฉํ ์ ์๋ค.
6.5.2 ํผ์์คํดํธ๋ณผ๋ฅจ ์์ฑ
//gcePersistentDisk ํผ์์คํดํธ๋ณผ๋ฅจ: mongodb-pv-gcepd.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: mongodb-pv
spec:
capacity:
storage: 1Gi //PersistentVolume ์ฌ์ด์ฆ๋ฅผ ์ง์
accessModes:
- ReadWriteOnce //์ด pv๋ ๋จ์ผ ํด๋ผ์ด์ธํธ์ ์ผ๊ธฐ/์ฐ๊ธฐ์ฉ ์ด๋ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ๋ฅผ ์ํ ์ฝ๊ธฐ ์ ์ฉ์ผ๋ก ๋ง์ดํธ๋๋ค.
- ReadOnlyMany
persistentVolumeReclaimPolicy: Retain //ํด๋ ์์ด ํด์ ๋ ํ ํผ์์คํดํธ๋ณผ๋ฅจ์ ์ ์ง๋ผ์ผ ํ๋ค.
gcePersistentDisk: //ํผ์์คํดํธ๋ณผ๋ฅจ์ ์ด์ ์ ์์ฑํ GCE ํผ์์คํดํธ ๋์คํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ค.
pdName: mongodb
fsTpye: ext4
- ํผ์์คํดํธ๋ณผ๋ฅจ์ ์์ฑํ ๋ ๊ด๋ฆฌ์๋ ์ฟ ๋ฒ๋คํฐ์ค์๊ฒ ์ฉ๋์ด ์ผ๋ง๋ ๋๋์ง
๋จ์ผ ๋ ธ๋๋ ๋์์ ๋ค์ ๋ ธ๋์ ์ฝ๊ธฐ๋ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ์ง ์ฌ๋ถ๋ฅผ ์๋ ค์ผํจ. - ๋ํ ์ฟ ๋ฒ๋คํฐ์ค์๊ฒ ํผ์์คํดํธ๋ณผ๋ฅจ์ด ํด์ ๋๋ฉด ์ด๋ค ๋์์ ํด์ผํ ์ง.
- ํผ์์คํดํธ๋ณผ๋ฅจ์ ํน์ ๋ค์์คํ์ด์ค์ ์ํ์ง ์๋๋ค.
- ํผ์์คํดํธ๋ณผ๋ฅจ์ ๋ ธ๋์ ๊ฐ์ ํด๋ฌ์คํฐ ์์ค ๋ฆฌ์์ค๋ค.
6.5.3 ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์ ์์ฑ์ ํตํ ํผ์์คํดํธ ๋ณผ๋ฅจ ์์ฒญ
ํ๋๊ฐ ์ฌ์ค์ผ์ค๋ง๋๋๋ผ๋ ๋์ผํ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ด ์ฌ์ฉ ๊ฐ๋ฅํ ์ํ๋ก ์ ์ง๋๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์
→ ํด๋ ์์ ํ๋๋ฅผ ์์ฑํ๋ ๊ฒ๊ณผ ๋ณ๊ฐ์ ํ๋ก์ธ์ค๋ค.
ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์ ์์ฑํ๊ธฐ
// ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์: mongodb-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mongodb-pvc //ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ ์ด๋ฆ์ผ๋ก ๋์ค์ ํ๋์ ๋ณผ๋ฅจ์ ์์ฒญํ ๋ ์ฌ์ฉํ๋ค.
spec:
resources:
requests:
storage: 1Gi //1GiB์ ์คํ ๋ฆฌ์ง ์์ฒญ
accessModes:
- ReadWriteOnce //๋จ์ผ ํด๋ผ์ด์ธํธ๋ฅผ ์ง์ํ๋ ์คํ ๋ฆฌ์ง(์ฝ๊ธฐ ์ฐ๊ธฐ ๋ชจ๋ ์ํ)
storageClassname: ""
- ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ด ์์ฑ๋์๋ง์ ์ฟ ๋ฒ๋คํฐ์ค๋ ์ ์ ํ ํผ์์คํดํธ๋ณผ๋ฅจ์ ์ฐพ๊ณ ํด๋ ์์ ๋ฐ์ธ๋ฉํ๋ค.
- ํผ์์คํดํธ๋ณผ๋ฅจ์ ์ฉ๋์ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ ์์ฒญ์ ์์ฉํ ๋งํผ ์ปค์ผํ๋ค.
- ๋ณผ๋ฅจ ์ ๊ทผ ๋ชจ๋๋ ํด๋ ์์์ ์์ฒญํ ์ ๊ทผ ๋ชจ๋๋ฅผ ํฌํจํด์ผ ํ๋ค.
ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์ ์กฐํํ๊ธฐ
๋ค์์ ์ ๊ทผ ๋ชจ๋๋ก ์ฌ์ฉ๋๋ ์ฝ์ด.
- RWO(ReadWriteOnce): ๋จ์ผ ๋ ธ๋๋ง์ด ์ฝ๊ธฐ/์ฐ๊ธฐ์ฉ์ผ๋ก ๋ณผ๋ฅจ ๋ง์ดํธ ๊ฐ๋ฅ
- ROX(ReadOnlyMany): ๋ค์ ๋ ธ๋๊ฐ ์ฝ๊ธฐ์ฉ์ผ๋ก ๋ณผ๋ฅจ ๋ง์ดํธ ๊ฐ๋ฅ
- RWX(ReadWriteMany): ๋ค์ ๋ ธ๋๊ฐ ์ฝ๊ธฐ/์ฐ๊ธฐ์ฉ์ผ๋ก ๋ณผ๋ฅจ ๋ง์ดํธ ๊ฐ๋ฅ
→์ด๋ ํ๋ ์๊ฐ ์๋ ๋ณผ๋ฅจ์ ๋์์ ์ฌ์ฉํ ์ ์๋ ์์ปค ๋ ธ๋ ์์ ๊ด๋ จ์ด ์๋ค.
ํผ์์คํดํธ๋ณผ๋ฅจ์ ํด๋ฌ์คํฐ ์์ค์ ๋ฆฌ์์ค์ด๋ฏ๋ก ํน์ ๋ค์์คํ์ด์ค์ ์์ฑํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋์ผํ ๋ค์์คํ์ด์ค์ ํ๋์์๋ง ์ฌ์ฉํ ์ ์๋ค.
6.5.4 ํ๋์์ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์ ์ฌ์ฉํ๊ธฐ
// ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์ ๋ณผ๋ฅจ์ ์ฌ์ฉํ๋ ํ๋: mongodb-pod-pvc.yaml
apiVersion: v1
kind: Pod
metadata:
name: mongodb
spec:
containers:
- image: mongo
name: mongodb
volumeMounts:
- name: mongodb-data
mountPath: /data/db
ports:
- containerPort: 27017
protocol : TCP
volumes:
- name: mongodb-data
persistentVolumeClaim:
claimName: mongodb-pvc //ํ๋ ๋ณผ๋ฅจ์์ ์ด๋ฆ์ผ๋ก ํผ์์คํดํธ ๋ณผ๋ฅจ ํด๋ ์์ ์ฐฝ์กฐํ๋ค
6.5.5 ํผ์์คํดํธ๋ณผ๋ฅจ๊ณผ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์ ์ฌ์ฉ์ ์ฅ์ ์ดํดํ๊ธฐ
- ํผ์์คํดํธ๋ณผ๋ฅจ๊ณผ ํผ์คํดํธ๋ณผ๋ฅจํด๋ ์์ ์์ฑํ๋ ์ถ๊ฐ ์ ์ฐจ๊ฐ ํ์ํ ๊ฒ์ ๋ง์ง๋ง ๊ฐ๋ฐ์๋
๊ธฐ์ ์ ์ฌ์ฉ๋ ์ค์ ์คํ ๋ฆฌ์ง ๊ธฐ์ ์ ์ ํ์๊ฐ ์๋ค. - ๋์ผํ ํ๋์ ํด๋ ์ ๋งค๋ํ์คํธ๋ ์ธํ๋ผ์คํธ๋ญ์ฒ์ ๊ด๋ จ๋ ์ด๋ค ๊ฒ๋ ์ฐธ์กฐํ์ง ์์ผ๋ฏ๋ก
๋ค๋ฅธ ์ฟ ๋ฒ ํด๋ฌ์คํฐ์์๋ ์ฌ์ฉํ ์ ์๋ค.
6.5.6 ํผ์์คํดํธ๋ณผ๋ฅจ ์ฌ์ฌ์ฉ
ํ๋์ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ ์ญ์ ํ๋ค
→ ํด๋ ์์ ์ํ๊ฐ Pending์ผ๋ก ํ์๋๋ค.
→์ด๋ฏธ ๋ณผ๋ฅจ์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฏ๋ก ํด๋ฌ์คํฐ ๊ด๋ฆฌ์๊ฐ ๋ณผ๋ฅจ์ ์์ ํ ๋น์ฐ์ง ์์ผ๋ฉด ์๋ก์ด ํด๋ ์์ ๋ฐ์ธ๋ฉํ ์ ์๋ค.
→ ํด๋ฌ์คํฐ ๊ด๋ฆฌ์๊ฐ ๋ณผ๋ฅจ์ ๋น์ฐ์ง ์์๋ค๋ฉด ํด๋ ์๊ณผ ํ๋๊ฐ ์์ฑ๋๋ค๊ณ ํ ์ง๋ผ๋ ์ด์ ํ๋๊ฐ ์ ์ฅํ ๋ฐ์ดํฐ๋ฅผ ์ฝ์ ์ ์๋ค.
ํผ์์คํดํธ๋ณผ๋ฅจ์ ์๋์ผ๋ก ๋ค์ ํด๋ ์ํ๊ธฐ
์ฟ ๋ฒ๋คํฐ์ค์ persistentVolumeClaimPolicy๋ฅผ Retain์ผ๋ก ์ค์ ํ๋ฉด ํผ์์คํดํธ๋ณผ๋ฅจ์ด ์ด๋ฌํ ๋์์ ํ ์ ์๋ค.
์ฟ ๋ฒ๋คํฐ์ค๊ฐ ํด๋ ์์ด ํด์ ๋ผ๋ ๋ณผ๋ฅจ๊ณผ ์ฝํ ์ธ ๋ฅผ ์ ์งํ๋๋ก ํ๋ค.
ํผ์์คํดํธ๋ณผ๋ฅจ์ ์๋์ผ๋ก ๋ค์ ํด๋ ์ํ๊ธฐ
๋ฆฌํด๋ ์ ์ ์ฑ ์ Recycle ๊ณผ Delete๋ค.
Recycle: ๋ณผ๋ฅจ์ ์ฝํ ์ธ ๋ฅผ ์ญ์ ํ๊ณ ๋ณผ๋ฅจ์ด ๋ค์ ํด๋ ์๋ ์ ์๋๋ก ๋ณผ๋ฅจ์ ์ฌ์ฉ๊ฐ๋ฅํ๊ฒ ๋ง๋ ๋ค(๊ทธ๋ฆผ๊ณผ ๊ฐ์ด)
Delete: ๊ธฐ๋ฐ ์คํ ๋ฆฌ์ง๋ฅผ ์ญ์ ํ๋ค.
6.6 ํผ์์คํดํธ๋ณผ๋ฅจ์ ๋์ ํ๋ก๋น์ ๋
ํด๋ฌ์คํฐ ๊ด๋ฆฌ์๊ฐ ํผ์์คํดํธ๋ณผ๋ฅจ์ ์์ฑํ๋ ๋์ ํผ์์คํดํธ๋ณผ๋ฅจ ํ๋ก๋น์ ๋๋ฅผ ๋ฐฐํฌ → ์ฌ์ฉ์๊ฐ ์ ํ ๊ฐ๋ฅํ ํผ์์คํดํธ๋ณผ๋ฅจ์ ํ์ ์ ํ๋ ์ด์์ ์คํ ๋ฆฌ์ง ํด๋์ค ์ค๋ธ์ ํธ๋ก ์ ์ํ ์ ์๋ค.
6.6.1 ์คํ ๋ฆฌ์งํด๋์ค ๋ฆฌ์์ค๋ฅผ ํตํ ์ฌ์ฉ ๊ฐ๋ฅํ ์คํ ๋ฆฌ์ง ์ ํ ์ ์ํ๊ธฐ
์ฌ์ฉ์๊ฐ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ ์์ฑํ๋ฉด ๊ฒฐ๊ณผ์ ์ผ๋ก ์๋ก์ด ํผ์์คํดํธ๋ณผ๋ฅจ์ด ํ๋ก๋น์ ๋๋๋ฏ๋ก ๊ด๋ฆฌ์๋ ํ๋ ํน์ ๊ทธ ์ด์์ ์คํ ๋ฆฌ์งํด๋์ค ๋ฆฌ์์ค๋ฅผ ์์ฑํด์ผํ๋ค.
//์คํ ๋ฆฌ์งํด๋์ค ์ ์: storageclass-fast-gcepd.yaml
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: fast
provisioner: kubernetes.io.gce-pd //ํผ์์คํดํธ๋ณผ๋ฅจ ํ๋ก๋น์ ๋์ ์ํด ์ฌ์ฉ๋๋ ๋ณผ๋ฅจ ํ๋ฌ๊ทธ์ธ์ด๋ค.
parameters:
type: pd-ssd
zone: europe-west1-b //์ด๋ฐ ํ๋ผ๋ฏธํฐ๊ฐ ํ๋ก๋น์ ๋๋ก ์ ๋ฌ๋๋ค.
6.6.2 ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์์ ์คํ ๋ฆฌ์ง ํด๋์ค ์์ฒญํ๊ธฐ
์คํ ๋ฆฌ์งํด๋์ค ๋ฆฌ์์ค๊ฐ ์์ฑ๋๋ฉด ์ฌ์ฉ์๋ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ ์ด๋ฆ์ ์คํ ๋ฆฌ์งํด๋์ค๋ฅผ ์ฐธ์กฐํ ์ ์๋ค.
ํน์ ์คํ ๋ฆฌ์งํด๋์ค๋ฅผ ์์ฒญํ๋ PVC ์ ์ ์์ฑํ๊ธฐ
//๋์ ํ๋ก๋น์ ๋ PVC: mongodb-pvc-dp.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mongodb-pvc
spec:
storageClassName: fast // PVC๋ ์ฌ์ฉ์ ์ ์ ์คํ ๋ฆฌ์ง ํด๋์ค๋ฅผ ์์ฒญํ๋ค.
resources:
requests:
storage: 100Mi
accessModes:
- ReadWriteOnce
6.3.3 ์คํ ๋ฆฌ์ง ํด๋์ค๋ฅผ ์ง์ ํ์ง ์์ ๋์ ํ๋ก๋น์ ๋
์คํ ๋ฆฌ์ง ํด๋์ค๋ฅผ ์ง์ ํ์ง ์๊ณ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์ ์์ฑํ๊ธฐ
storageClassName ์์ฑ์ ์ง์ ํ์ง ์๊ณ PVC๋ฅผ ์์ฑํ๋ฉด ๊ตฌ๊ธ ์ฟ ๋ฒ๋คํฐ์ค ์์ง์์๋ pd-standard ์ ํ์ GCE ํผ์์คํดํธ ๋์คํฌ๊ฐ ํ๋ก๋น์ ๋๋๋ค.
ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ ๋ฏธ๋ฆฌ ํ๋ก๋น์ ๋๋ ํผ์์คํดํธ๋ณผ๋ฅจ์ผ๋ก ๋ฐ์ธ๋ฉ ๊ฐ์ ํํ๊ธฐ
storageClassName ์์ฑ์ ๋น ๋ฌธ์์ด๋ก ์ง์ ํ์ง ์์ผ๋ฉด ๋ฏธ๋ฆฌ ํ๋ก๋น์ ๋๋ ํผ์์คํดํธ๋ณผ๋ฅจ์ด ์๋ค๊ณ ํ ์ง๋ผ๋ ๋์ ๋ณผ๋ฅจ ํ๋ก๋น์ ๋๋ ์๋ก์ด ํผ์์คํดํธ๋ณผ๋ฅจ์ ํ๋ก๋น์ ๋ ํ๋ค.
ํผ์์คํดํธ๋ณผ๋ฅจ ๋์ ํ๋ก๋น์ ๋์ ์ ์ฒด ๊ทธ๋ฆผ ์ดํดํ๊ธฐ
6.7 ์์ฝ
- ๋ค์ค ์ปจํ ์ด๋ ํ๋ ์์ฑ๊ณผ ํ๋์ ์ปจํ ์ด๋๋ค์ด ๋ณผ๋ฅจ์ ํ๋์ ์ถ๊ฐํ๊ณ ๊ฐ ์ปจํ ์ด๋์ ๋ง์ดํธํด ๋์ผํ ํ์ผ๋ก ๋์ํ๊ฒ ํ๋ค.
- emptDir ๋ณผ๋ฅจ์ ์ฌ์ฉํด ์์, ๋น์๊ตฌ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
- gitRepo ๋ณผ๋ฅจ์ ์ฌ์ฉํด ๊น ๋ฆฌํฌ์ ์ฝํ ์ธ ๋ก ๋๋ ํฐ๋ฆฌ๋ฅผ ์ฑ์ด๋ค.
- hostPath ๋ณผ๋ฅจ์ ์ฌ์ฉํด ํธ์คํธ ๋ ธ๋์ ํ์ผ์ ์ ๊ทผํ๋ค.
- ์ธ๋ถ ์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ์ ๋ง์ดํธํด ํ๋๊ฐ ์ฌ์์๋ผ๋ ํ๋์ ๋ฐ์ดํฐ๋ฅผ ์ ์งํ๋ค.
- ํผ์์คํดํธ๋ณผ๋ฅจ๊ณผ ํผ์์คํดํธ๋ณผ๋ฅจํด๋ ์์ ์ฌ์ฉํด ํ๋์ ์คํ ๋ฆฌ์ง ์ธํ๋ผ์คํธ๋ญ์ฒ๋ฅผ ๋ถ๋ฆฌํ๋ค.
- ๊ฐ PVC์ ์ํด PV์ ์ํ๋ ์คํ ๋ฆฌ์งํด๋์ค๋ก ๋์ ํ๋ก๋น์ ๋ํ๋ค.
- PVC์ ๋ฏธ๋ฆฌ ํ๋ก๋น์ ๋๋ PV๊ณผ ๋ฐ์ธ๋ฉํ๊ณ ์ ํ ๋ ๋์ ํ๋ก๋น์ ๋๊ฐ ๊ฐ์ญํ๋ ๊ฒ์ ๋ง๋๋ค.
'k8s' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฑํฐ5. ์๋น์ค: ํด๋ผ์ด์ธํธ๊ฐ ํ๋๋ฅผ ๊ฒ์ํ๊ณ ํต์ ์ ๊ฐ๋ฅํ๊ฒ ํจ (2) | 2023.04.12 |
---|---|
์ฑํฐ4. ๋ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๊ทธ ๋ฐ์ ์ปจํธ๋กค๋ฌ: ๊ด๋ฆฌ๋๋ ํ๋ ๋ฐฐํฌ (0) | 2023.04.06 |
์ฑํฐ3. ํ๋:์ฟ ๋ฒ๋คํฐ์ค์์ ์ปจํ ์ด๋ ์คํ (0) | 2023.04.04 |
์ฑํฐ2. ์ปจํ ์ด๋์ ์ดํด (0) | 2023.03.27 |
์ฑํฐ1. ์ฟ ๋ฒ๋คํฐ์ค ์๊ฐ (0) | 2023.03.19 |