
단일 노드 kubernetes 클러스터가 있는데 디스크 사용량이 70%를 넘었다는 알림을 받았습니다. 노드에서 쉘을 가져와 실행하면 사용 가능한 블록의 75%를 사용하고 있는 df
것을 볼 수 있습니다 . /
또한 다음과 같은 여러 항목이 표시됩니다.
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/47d405a81214ec9b81ccdffae3674260fa2946d30bdd3b398aa1c2d283c8577e/rootfs
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/569d1fe262f6bf1a59ca99163f231a426d2251ac1beabc47a0393066f48b3e0e/rootfs
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/32d14863f46e922b7e0b2bbee8a5321c5fabb5811352449d90e486b94161a8cb/rootfs
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/8c3fa2f9467e792036782e9587f748f846d61fdc23d9afaecc7e7835e6db4f2b/rootfs
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/626b21093218edcda466ce6d4f31e7b975a0c0473d233fc062ed657499541fc9/rootfs
overlay 51432064 36953456 12350764 75% /run/containerd/io.containerd.runtime.v2.task/k8s.io/c1a7484e1beca4ec1299fc5017002d6fecc9890c86e3246a8bdf53fcc45cf576/rootfs
영구 볼륨(호스트 볼륨 아님)을 사용하는 두 가지 서비스가 있는데 이 스토리지를 모두 사용할 수 있는 Docker 이미지 외에는 아무것도 생각할 수 없습니다.
내 kubernetes 클러스터에서 무엇이 이렇게 많은 스토리지를 사용하고 있는지 어떻게 알 수 있나요?
답변1
Kubernetes에서 노드의 디스크를 사용하는 것이 무엇인지 확인하려면 다음 단계를 따르세요.
노드에 SSH를 통해 접속하세요.
ncdu
다음 명령을 사용하여 노드에 패키지를 설치합니다 .sudo apt-get install ncdu
ncdu
다음 명령을 사용하여 노드의 루트 디렉터리에서 실행합니다 .sudo ncdu /
ncdu
노드 디스크 스캔이 완료될 때 까지 기다립니다 . 디렉토리 목록과 해당 크기가 표시됩니다.화살표 키를 사용하여 디렉터리와 하위 디렉터리를 탐색하여 어느 디렉터리가 가장 많은 디스크 공간을 차지하고 있는지 알아보세요.
가장 많은 공간을 차지하는 디렉터리를 식별한 후에는
kubectl
다음 명령을 실행하여 어떤 Pod가 해당 디렉터리를 사용하고 있는지 알아낼 수 있습니다.kubectl describe pod <pod-name>
<pod-name>
확인하려는 Pod의 이름으로 바꿉니다 .Volume
명령 출력에서 해당 섹션을 찾으십시오kubectl describe pod
. 포드에 마운트된 PVC(영구 볼륨 할당)가 표시됩니다.kubectl
다음 명령을 사용하여 PVC를 설명하는 데 사용됩니다 .kubectl describe pvc <pvc-name>
<pvc-name>
Pod에 마운트된 PVC의 이름으로 바꿉니다 .명령 출력에서
StorageClass
및 섹션을 찾으세요 . PVC가 사용하는 StorageClass와 액세스 방법을 알려줍니다.Access Modes
kubectl describe pvc
StorageClass 구성을 확인하여 디스크 사용 문제를 일으킬 수 있는 저장소 제한이나 할당량이 설정되어 있는지 확인하세요.
다음 단계를 수행하면 Kubernetes의 노드에서 가장 많은 디스크 공간을 사용하고 있는 Pod를 식별할 수 있습니다.