티스토리 뷰
○ 컨테이너 파일시스템은 컨테이너가 실행되고 있는 동안만 존재
○ 컨테이너가 종료되면 스토리지 볼륨은 삭제
○ 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 [ 쿠버네티스 ]' 카테고리의 다른 글
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 |