티스토리 뷰

○ 컨테이너 파일시스템은 컨테이너가 실행되고 있는 동안만 존재

 

컨테이너가 종료되면 스토리지 볼륨은 삭제

 

pod 내의 컨테이너가 crash 되어 삭제되거나 재시작 되더라도 emptyDir 의 라이프사이클은 pod 단위이기 때문에

emptyDir 은 삭제되지 않고 계속해서 사용 가능

 

emptyDir 은 디스크 대신 메모리 사용하는 것도 가능

 

 

 

● empty.yml 파일생성

apiVersion: v1
kind: Pod
metadata:
  name: redis
spec:
  containers:
  - name: redis
    image: redis
    volumeMounts:
    - name: redis-storage
      mountPath: /data/redis
  volumes:
  - name: redis-storage
    emptyDir: {}

 

 

 

 

○ 마운트 상태 확인

[vagrant@ms work]$ kubectl exec -it redis -- /bin/bash -c "df -h"
Filesystem                   Size  Used Avail Use% Mounted on
overlay                      125G  5.2G  120G   5% /
tmpfs                         64M     0   64M   0% /dev
tmpfs                        1.9G     0  1.9G   0% /sys/fs/cgroup
/dev/mapper/cl_centos8-root  125G  5.2G  120G   5% /data
shm                           64M     0   64M   0% /dev/shm
tmpfs                        3.6G   12K  3.6G   1% /run/secrets/kubernetes.io/serviceaccount
tmpfs                        1.9G     0  1.9G   0% /proc/acpi
tmpfs                        1.9G     0  1.9G   0% /proc/scsi
tmpfs                        1.9G     0  1.9G   0% /sys/firmware

 

 

 

 

○ 직접 접속하여 redis.txt 를 마운트 된 위치에 저장

[vagrant@ms work]$ kubectl exec -it redis -- /bin/bash
root@redis:/data# cd redis/
root@redis:/data/redis# echo helehlehelhel > redis.txt

 

 

 

 

○ node 위치 확인

[vagrant@ms work]$ kubectl get pods -o wide
NAME    READY   STATUS    RESTARTS   AGE     IP             NODE              NOMINATED NODE   READINESS GATES
redis   1/1     Running   0          2m14s   10.244.1.157   wk1.example.com   <none>           <none>

 

 

 

 

● emptyDir 을 설정하면 자동으로 / var / lib / kubelet / pods 에 저장이 된다

[vagrant@wk1 ~]$ sudo find / -name redis.txt
/var/lib/kubelet/pods/0c1e593a-286e-4492-804d-194d132cf66b/volumes/kubernetes.io~empty-dir/redis-storage/redis.txt

 

 

 

○ 해당 위치에 있는 redis.txt 를 열어봐서 확인 가능

sudo cat /var/lib/kubelet/pods/0c1e593a-286e-4492-804d-194d132cf66b/volumes/kubernetes.io~empty-dir/redis-storage/redis.txt
helehlehelhel

 

 

 

 

 

● 모두 삭제해서 다시 확인

[vagrant@ms work]$ kubectl delete all --all
pod "redis" deleted
service "apache-service" deleted

 

 

 

 

● 메모리로 저장하는 경우 medium 으로 메모리 설정하면 된다

>>> 속도가 빠르다

 

○ wk1 의 메모리 현황

 

○ 메모리 2G 설정

apiVersion: v1
kind: Pod
metadata:
  name: redis
spec:
  containers:
  - name: redis
    image: redis
    volumeMounts:
    - name: redis-storage
      mountPath: /data/redis
  volumes:
  - name: redis-storage
    emptyDir:
      medium: Memory
      sizeLimit: 2G

 

 

○ wk1 의 메모리 현황

 

 

○ redis 접속

 

 

○ 파일생성

root@redis:/data/redis# dd if=/dev/zero of=/filefile bs=1M count=1500

 

 

 

 

○ wk1 의 상황 >> 메모리가 줄어들었다 [ 버퍼/캐시 증가 ]

 

 

 

○ wk 에서 1.5기가 생성

[vagrant@wk1 ~]$ dd if=/dev/zero of=./testfile bs=1M count=1500

 

 

 

 

https://kubernetes.io/ko/docs/tasks/configure-pod-container/configure-volume-storage/

 

스토리지의 볼륨을 사용하는 파드 구성

이 페이지는 스토리지의 볼륨을 사용하는 파드를 구성하는 방법을 설명한다. 컨테이너 파일 시스템은 컨테이너가 살아있는 동안만 존재한다. 따라서 컨테이너가 종료되고 재시작할 때, 파일 시

kubernetes.io

 

'Kubernetes [ 쿠버네티스 ]' 카테고리의 다른 글

Kubernets - pv / pvc  (0) 2024.03.12
Kubernetes - nfs-volume  (0) 2024.03.12
Kubernetes 커맨드 입력  (0) 2024.03.12
Kubernetes - 볼륨  (1) 2024.03.11
Kubernetes 멀티 컨테이너 사용  (0) 2024.03.11
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함