Logging-Architecture
1 Logging Architecture
-
컨테이너 엔진 또는 런타임에서 제공하는 기본 기능으로는 전체 로깅 솔루션을 사용하기에 충분하지 않다.
-
컨테이너가 crash 되거나 파드가 퇴출거나 노드가 죽어도 로그를 보길 원하기 때문에 클러스터에서 로그는 노드, 포드 또는 컨테이너와 독립적으로 별도의 스토리지 및 라이프 사이클을 가져야 한다.
- 이러한 컨셉을
cluster-level logging이라고 한다.
- 이러한 컨셉을
-
cluster-level logging 아키텍처는 분리된 백엔드가 필요하다.
- 이 분리된 백엔드에 로그 저장, 분석, 조회 기능이 있다.
-
쿠버네티스는 자체적으로 cluster-level logging 솔루션을 제공하지 않는다.
- 하지만 다양한 솔루션을 쿠버네티스에 적용할 수 있다.
2 Pod and container logs
- 쿠버네티스는 파드에서 동작 중인 각각의 컨테이너로부터 로그를 캡쳐한다.
apiVersion: v1
kind: Pod
metadata:
name: counter
spec:
containers:
- name: count
image: busybox:1.28
args: [ /bin/sh, -c,
'i=0; while true; do echo "$i: $(date)"; i=$((i+1)); sleep 1; done' ]