볼륨 상태 모니터링

볼륨 상태 모니터링 (Volume Health Monitoring)

기능 상태: Kubernetes v1.21 [alpha]

[CSI] 볼륨 상태 모니터링을 사용하면 CSI 드라이버가 기본 저장 시스템의 비정상 볼륨 상태를 감지하고, 이를 [PVC] 또는 [Pod]에 대한 이벤트로 보고할 수 있어요.

볼륨 상태 모니터링 (Volume health monitoring)

쿠버네티스 볼륨 상태 모니터링은 쿠버네티스가 Container Storage Interface(CSI)를 구현하는 방식의 일부예요. 볼륨 상태 모니터링 기능은 두 컴포넌트로 구현됩니다. External Health Monitor 컨트롤러와 [kubelet]이 바로 그것입니다.

CSI 드라이버가 컨트롤러 쪽에서 Volume Health Monitoring 기능을 지원하면, CSI 볼륨에서 비정상 볼륨 상태가 감지될 때 관련 PersistentVolumeClaim에 이벤트가 보고됩니다.

External Health Monitor [컨트롤러]는 또한 노드 실패 이벤트를 감시해요. enable-node-watcher 플래그를 true로 설정하면 노드 실패 모니터링을 활성화할 수 있어요. External Health Monitor가 노드 실패 이벤트를 감지하면, 컨트롤러는 이 PVC를 사용하는 Pod가 실패한 노드에 있다는 것을 나타내는 이벤트를 PVC에 보고합니다.

CSI 드라이버가 노드 쪽에서 Volume Health Monitoring 기능을 지원하면, CSI 볼륨에서 비정상 볼륨 상태가 감지될 때 PVC를 사용하는 모든 Pod에 이벤트가 보고됩니다. 또한 Volume Health 정보는 Kubelet VolumeStats 메트릭으로 노출됩니다. kubelet_volume_stats_health_status_abnormal이라는 새 메트릭이 추가되었어요. 이 메트릭은 namespacepersistentvolumeclaim 두 개의 레이블을 포함합니다. 값은 1 또는 0이에요. 1은 볼륨이 비정상임을, 0은 볼륨이 정상임을 나타냅니다. 자세한 내용은 [KEP]를 확인하세요.

참고: 노드 쪽에서 이 기능을 사용하려면 CSIVolumeHealth [feature gate]를 활성화해야 해요.

다음 내용 (What's next)

어떤 CSI 드라이버가 이 기능을 구현했는지 알아보려면 CSI 드라이버 문서를 참고하세요.