holssi 님의 블로그
[CKA] Udemy 실습 문제 풀이-Storage 본문
로그를 볼려면 파드 안에 들어가서 봐야함
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를 선택해서 바인딩함. 그래서 파드가 먼저 필요하다
'CKA' 카테고리의 다른 글
| [CKA] priorityClass, Deployment 트러블슈팅 (0) | 2026.02.19 |
|---|---|
| [CKA] 컨트롤플레인 포함 모든 노드에서 실행되게끔 데몬셋 생성 (0) | 2026.02.13 |
| [CKA] Udemy 실습 문제 풀이-Scheduling (0) | 2026.01.27 |
| [CKA] 기출문제 Service (0) | 2026.01.15 |
| [CKA] 기출문제 Volume (0) | 2026.01.15 |