시스템 로그

시스템 로그 (System Logs)

쿠버네티스 시스템 컴포넌트들의 로그가 어디에 쌓이는지, 그리고 어떻게 관리해야 하는지 궁금할 때가 있죠. 이 페이지는 쿠버네티스 시스템 컴포넌트의 로그 위치와 로그 회전(rotation)에 대해 설명해 드려요. 로그 위치를 정확히 알아두면 장애를 디버깅할 때 훨씬 수월해집니다.

출처: Kubernetes 공식 문서 — System Logs

Klog

쿠버네티스 시스템 컴포넌트는 klog를 사용해 로그를 기록해요. 이 페이지에서는 klog가 생성하는 로그가 어디에 저장되는지에 초점을 맞춥니다.

로그 위치 (Log location)

시스템 컴포넌트에는 두 가지 종류가 있어요: 컨테이너 안에서 실행되는 것컨테이너 안에서 실행되지 않는 것입니다. 예를 들어:

  • 쿠버네티스 스케줄러와 kube-proxy는 컨테이너 안에서 실행돼요.
  • kubelet과 컨테이너 런타임은 컨테이너 안에서 실행되지 않습니다.

systemd가 있는 머신에서는 kubelet과 컨테이너 런타임이 journald에 로그를 기록해요. 그렇지 않은 환경에서는 /var/log 디렉터리의 .log 파일에 기록합니다.

컨테이너 안에 있는 시스템 컴포넌트는 항상 기본 로깅 메커니즘을 우회해서 /var/log 디렉터리의 .log 파일에 기록해요.

컨테이너 로그와 마찬가지로, /var/log 디렉터리의 시스템 컴포넌트 로그도 회전(rotation) 시켜야 합니다. kube-up.sh 스크립트로 만든 쿠버네티스 클러스터에서는 logrotate 도구로 로그 회전을 구성해요. logrotate는 로그를 매일, 또는 로그 크기가 100MB를 넘으면 회전시킵니다.

더 알아보기 (Learn more)