Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
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
Tags more
Archives
Today
Total
관리 메뉴

holssi 님의 블로그

[CKA] Udemy 실습 문제 풀이-Storage 본문

CKA

[CKA] Udemy 실습 문제 풀이-Storage

holssi 2026. 1. 28. 13:19

로그를 볼려면 파드 안에 들어가서 봐야함

k exec [파드이름] -- cat /log/app.log

 

persistentVolumeReclaimPolicy

1. retain: pvc가 삭제되면 pv는 삭제되지 않고 상태가 released로 바뀐다. 데이터는 그대로 남아 있음

2. recycle: pvc가 삭제되면 kubelet이 볼륨 내부 데이터 삭제하면 pv는 available이고 다른 pvc가 바로 재사용이 가능함

 

finalizers: kubernetes.io/pvc-protection

pvc를 삭제하는데 terminating에 걸리는 이유는 pvc에는 기본적으로 finalizers: kubernetes.io/pvc-protection이 있고, pvc를 참조중인 리소스가 완전히 정리될때까지 삭제를 막는 설정이 있다

 

pvc에 pv 추가하는 법

1. 조건 바인딩

storageClassName, accessModes, storage 요청 크기 등 조건이 맞으면 쿠버네티스가 알아서 연결함

2. 수동 바인딩

volumeName으로 수동 바인딩

 

pv 상태

최초 pv가 생성되면 available 상태이다

pvc가 바인딩되면 available -> bound 상태이다

볼륨에 이상이 생기면 failed 상태이다

bound 상태에서 pvc가 해제되었을때, reclaim policy 정책에 따라 상태가 달라진다

- recycle: 기존 데이터 삭제, available 상태가 됨

- retain: 기존 데이터 유지, 재사용할 수 없는 released 상태

- delete: 기존 데이터 삭제, pv도 삭제됨

 

pv, pvc가 왜 바인딩 안되는지 확인

pvc를 describe 해보기

pv, pvc의 accessMode가 일치해야한다

 

kind 종류

- volume: pod

- pv: persistentvolume

 

waiting for first consumer to be created before binding

첫 번째 파드(소비자)가 생성될때까지 pv 바인딩 기다리는 중

storage 설정에 volumeBindingMode: WaitForFirstConsumer가 있음

이 옵션이 있으면 pvc를 만들었을때 즉시 pv와 바인딩하지 않고, 파드가 실제로 생성되고 어느 노드에 스케줄 될지 결정한 후에 그 노드에 맞는 pv를 선택해서 바인딩함. 그래서 파드가 먼저 필요하다