쿠버네티스 인프라 모니터링 - 노드 볼륨 공유 방식(Node Volume Sharing Method)

김재영·2024년 5월 31일
0

쿠버네티스는 애플리케이션의 배포, 확장 및 관리를 자동화하는 오픈 소스 플랫폼입니다. 노드 볼륨 공유 방식(Node Volume Sharing Method)을 통해 쿠버네티스 노드의 디스크 성능을 모니터링할 수 있습니다. 이글에서는 이러한 방법을 사용하여 노드의 디스크 사용량을 측정하는 방법을 설명하겠습니다.

쿠버네티스는 내부 서비스는 기본적으로 격리된 컨테이너 환경에서 동작합니다. 하지만 노드의 볼륨은 PV로 선언되어 각 컨테이너에서 공유되어 사용될 수 있습니다. 이러한 공유 리소스 하나는 다양한 서비스에 영향을 미칠 수 있으며 예상치 않은 사용량으로 병목이 될 수 있기 때문에 모니터링 하는것이 매우 중요합니다.

노드 볼륨 공유 방식 은 노드의 특정 파일 시스템을 파드에 마운트하여 파드 내에서 노드의 디스크 성능을 모니터링하는 방법입니다. 이를 통해 노드와 격리된 환경에서도 디스크 사용량 및 성능 데이터를 수집할 수 있습니다.

리눅스에서 디스크 사용량 파악하기

디스크 사용량을 측정하기에 앞서 리눅스에서 기본적인 디스크 사용량을 파악하는 방법에 대해서 알아야 합니다. 노드에는 물리 디스크가 붙어있고, 실제 운영환경에서 디스크 사용량을 조회하기 위해 주로 사용하는 df와 같은 명령어는 물리 디스크 자체의 블록 사이즈를 측정하는 것이 아닌, 마운트된 파일 시스템의 사이즈를 측정하는 것입니다.

따라서 노드 디스크 사용량을 알기 위해서는 디스크가 어떠한 지점에 마운트 되어있는지 파악하는 작업이 선행되어야 합니다. 이 작업을 통해서 마운트 지점 정보를 알게되면 이를 통해 디스크 사용량, I/O 퍼포먼스 등의 세밀한 데이터를 파악할 수있습니다.

1. 노드 볼륨 마운트 설정

우선 간단하게 노드의 루트 볼륨이 마운트된 파드를 생성해보겠습니다.

apiVersion: v1
kind: Pod
metadata:
  name: disk-io-monitor
spec:
  containers:
  - name: disk-io-monitor
    image: nginx
    volumeMounts:
    - mountPath: /rootfs
      name: node-disk
  volumes:
  - name: rootfs
    hostPath:
      path: /

위 예제에서는 노드의 루트 디렉토리를 파드의 /rootfs 경로에 마운트합니다.

2. 디스크 성능 측정

파드에 마운트된

0개의 댓글