본문 바로가기

CLOUD/CUBE

쿠버네티스(Kubernetes) -볼륨(Volume)

반응형

컨테이너는 삭제할 때 그 안의 데이터도 모두 삭제되기 때문에 중요한 데이터는 따로 보관할 스토리지가 필요합니다.

 

aws나 azure의 스토리지 서비스(EBS, azurefile)를 이용해도 되고 온프레미스 형식(NAS, 스토리지 서버)등을 이용해도 됩니다.

 

 

https://kubernetes.io/ko/docs/concepts/storage/volumes/

 

볼륨

컨테이너 내의 디스크에 있는 파일은 임시적이며, 컨테이너에서 실행될 때 애플리케이션에 적지 않은 몇 가지 문제가 발생한다. 한 가지 문제는 컨테이너가 크래시될 때 파일이 손실된다는 것

kubernetes.io

 

 

hotspath는 거의 사용하지 않습니다.(테스트를 위해 사용하였습니다)

 

 

[root@master ~]# cat apache.yaml

apiVersion: v1
kind: Pod
metadata:
 name: apache
 labels:
   app: myweb
spec:
   containers:
   - name: myweb-container
     image: httpd:2.4
     ports:
       - containerPort: 80
     volumeMounts:
       - name: hostpath-volume
         mountPath: /usr/local/apache2/htdocs
   volumes:
   - name: hostpath-volume
     hostPath:
       path: /var/tmp/web_docs

 

 

kubectl create -f apache.yaml

 

kubectl get pods -o wide

 

 

curl http://10.36.0.4:80

 

 

 

kubectl exec -it apache -- bash

 

root@apache:/usr/local/apache2/htdocs# touch test1
root@apache:/usr/local/apache2/htdocs# echo "hello" > test1
root@apache:/usr/local/apache2/htdocs# cat test1

 

 

node2(apache가 실행중인 노드)에서 확인

cd /var/tmp/web_docs/

ll

cat test1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형