본문 바로가기
INFRA/DevOps

[k8s] Storage emptyDir 및 share volume

by BTC_비웃는사나이 2023. 3. 20.

emptyDir volume

<이미지 출처 : https://www.youtube.com/watch?v=yFqeoeR3l6Q&list=PLApuRlvrZKohLYdvfX-UEFYTE7kfnnY36&index=5 >

 

[Hands - on]

  • pod 생성 및 확인
vi empty.yaml
apiVersion: v1
kind: Pod
metadata:
  name: web-empty
spec:
  containers:
  - image: nginx:1.14
    name: nginx
    volumeMounts:
    - name: html
      mountPath: /usr/share/nginx/html
  volumes:
  - name: html
    emptyDir: {}
kubectl create -f empty.yaml
kubectl get pods -o wide
NAME        READY   STATUS    RESTARTS   AGE   IP          NODE                NOMINATED NODE   READINESS GATES
web-empty   1/1     Running   0          45s   10.47.0.1   node3.example.com   <none>           <none>

 

  • pod 내부에서 command 실행
kubectl exec web-empty -it -- /bin/bash
mount
...
/dev/root on /usr/share/nginx/html type ext4 (rw,relatime,discard)
...

 

Shared volume

  • 여러 개의 pod들이 동일 데이터를 참조
  • K8s의 Shared Disk를 pod volume으로 사용

<이미지 출처 : https://www.youtube.com/watch?v=yFqeoeR3l6Q&list=PLApuRlvrZKohLYdvfX-UEFYTE7kfnnY36&index=5 >

 

NFS

  • NFS 서버가 공유하고 있는 데이터 디렉토리를 worker node의 pod들이 access할 수 있도록 지원
  • 사전준비
    • NFS 서버는 application이 사용할 공유 디렉토리를 지원하고 있어야 함.
    • Worker node는 NFS 클라이언트가 되어서 NFS Server가 지원하는 공유 폴더에 접근할 수 있어야 함.
  • definition
volumes:
- name: webdata
  nfs:
    server: nfs.server.name
    path: /share/dir/path

'INFRA > DevOps' 카테고리의 다른 글

[k8s] Persistent Volume & Persistent Volume Claim  (0) 2023.04.03
[K8s] Storage NFS  (0) 2023.03.27
[K8s] Storage 개념 및 hostPath  (0) 2023.03.14
[k8s] 인증과 권한 관리 - 권한편  (0) 2023.03.06
[K8s] 인증과 권한 관리 - 인증편  (1) 2023.02.27

댓글