쿠버네티스 로그 아키텍쳐

관리 원칙

  • 어플리케이션 로그는 모두 stdout 으로 출력해야한다.
    • 컨테이너로 운영하는 것을 전제로 한다면 파일 출력 자체가 불필요하다.
  • Nginx 등의 미들웨어에서는 로그가 stdout 으로 출력되도록 이미지를 빌드한다.
  • stdout 으로 출력되는 로그는 모두 JSON 포맷으로 출력해 각 속성을 검색할 수 있게 한다.
  • 쿠버네티스 환경에서는 fluentd-kubernetes-daemonset 을 포함하는 파드를 DaemonSet을 사용해 각 호스트에 배치한다.
  • 쿠버네티스 리소스에서는 적절히 레이블을 부여해 로그를 검색할 수 있게 한다.