Quiz: Object Backup and Restore
한국어 원문으로 표시합니다.
"어제 지운 네임스페이스 하나만 되살려 달라" 는 요청에 etcd 스냅샷이 맞지 않는 이유는?
- 스냅샷에는 네임스페이스 오브젝트가 들어 있지 않기 때문이다
- 복구가 클러스터 전체를 그 시점으로 되돌려 그 뒤 변경도 함께 사라지기 때문이다
- 스냅샷은 압축돼 있어 개별 오브젝트를 꺼낼 수 없기 때문이다
- 스냅샷 복구에는 모든 노드를 함께 재설치해야 하기 때문이다
내보낸 매니페스트에서 ownerReferences 를 지워야 하는 가장 중요한 이유는?
- 매니페스트가 길어져 apply 가 느려지기 때문이다
- 복원 대상 클러스터에서 그 필드가 유효하지 않다고 거절되기 때문이다
- 주인의 uid 를 찾지 못한 가비지 컬렉터가 복원본을 조용히 지우기 때문이다
- 컨트롤러가 같은 오브젝트를 두 번 만들어 중복이 생기기 때문이다
CRD 보다 커스텀 리소스를 먼저 적용하면 어떻게 되나?
- 종류를 모른다는 오류로 거절되고 아무것도 만들어지지 않는다
- 일단 저장되었다가 CRD 가 등록되면 자동으로 살아난다
- 스키마 검증만 건너뛰고 오브젝트는 그대로 만들어진다
- 같은 이름의 CRD 가 기본 스키마로 자동 생성된다
Service 를 복원할 때 spec.clusterIP 를 지우는 이유는?
- Service 는 복원할 때마다 이름이 바뀌어야 하기 때문이다
- clusterIP 가 있으면 kube-proxy 가 엔드포인트를 만들지 않기 때문이다
- 그 주소는 원래 클러스터가 자기 대역에서 할당한 값이기 때문이다
- clusterIP 는 status 에 속하는 필드라 spec 에 있으면 거절되기 때문이다
PVC 를 백업해 두었다면 복원했을 때 무엇이 돌아오나?
- 볼륨 안의 파일까지 그대로 돌아온다
- 볼륨을 달라는 요청서만 돌아오고 안에 있던 데이터는 없다
- 요청서와 함께 PersistentVolume 도 자동으로 다시 만들어진다
- 스토리지 클래스가 같으면 데이터도 함께 복원된다
복원 검증을 오브젝트가 있는지만 세는 방식으로 하면 놓치는 것은?
- 네임스페이스가 아직 만들어지지 않은 경우
- CRD 가 등록되지 않아 커스텀 리소스가 없는 경우
- 같은 이름의 오브젝트가 두 번 만들어진 경우
- 오브젝트의 값이 달라진 복원 — 예를 들어 레플리카가 줄어든 경우