오류 메세지 혹은 현상
- pod를 조회해 본 결과, Evicted 및 Pending 입니다.
- node의 상태를 조회해 본 결과, DiskPressure라는 메시지가 있습니다.
원인
- kubelet은 cluster node의 CPU, Memory, Disk 와 같은 자원을 모니터링 합니다.
- 이러한 자원 중 하나 이상의 특정 소모 수준에 도달하면, kubelet은 하나 이상의 pod를 능동적으로 중단시켜 자원을 회수하고 고갈 상황을 방지합니다.
Type 원인 기준값 MemoryPressure node의 가용 메모리 양이 임계값에 도달 momory.available < 100Mi DiskPressure node의 가용 디스크 공간이 임계값에 도달 nodefs.availabile < 10%
imagefs.available < 15%inode의 수가 임계값에 도달 nodefs.inodesFree < 5%
- 위 이슈에 대한 이유는 disk의 임계값에 도달하여 kubelet이 node의 자원을 회수하기 위해 pod를 능동적으로 중단 시켰기 때문입니다.
문제 해결
- 가장 먼저 Disk 공간 확보가 이루어져야 합니다.
- 불필요한 데이터는 삭제하여 Disk 를 확보합니다.
- Disk 공간 확보가 충분이 이루어졌다면, kubelet은 다시 정상적으로 컨테이너를 구동시키기 위해 pod를 재시작 합니다.
- 이미 evicted가 된 pod는 kubelet이 지워주지 않으므로, 직접 삭제해 주어야 합니다.
kubectl -n <namespace> delete pods --field-selector=status.phase=Failed
아티클이 유용했나요?
훌륭합니다!
피드백을 제공해 주셔서 감사합니다.
도움이 되지 못해 죄송합니다!
피드백을 제공해 주셔서 감사합니다.
피드백 전송
소중한 의견을 수렴하여 아티클을 개선하도록 노력하겠습니다.