[Kubernetes] 모니터링, 로깅

1. 클러스터 모니터링

1-1. 소개

쿠버네티스에서 모니터링 대상은 클러스터의 노드, 파드들의 정보와 자원 사용률 등이 있다. 이런 모니터링 기능을 제공하는 솔루션으로 METRIC SERVER, PROMETHEUS, ELK STACK, DATADOG, dynatrace 등의 오픈소스 제품들이 있다.

METRICS SERVER는 노드와 파드들의 정보를 메모리에 저장하고 보여주는 솔루션으로 인메모리 방식이기 때문에 과거 히스토리를 보기 위해서는 디스크에 저장하는 다른 오픈소스 솔루션과 함께 사용해야 한다. METRICS SERVER는 KUBELET 내부 컴포넌트인 cAdvisor에 질의하며 각 파드들의 데이터를 수집한다.

1-2. 설치

# MINIKUBE를 사용한다면

minikube addons enable metric-server

# 그외는 깃헙에서 패키지 다운

git clone [https://github.com/kubernetes-sigs/metrics-server](https://github.com/kubernetes-sigs/metrics-server)

kubectl create -f deploy/1.8+/

1-3. 명령어

#Node 리소스 사용률 조회
kubectl top node


#POD 리소스 사용률 조회
kubectl top pod

2. 로그 확인

2-1. Docker에서 로그 조회

docker run -d app1/event-simulator
docker logs -f ecf

2-2. k8s에서 컨테이너 로그 조회

# yml 파일로 파드 생성
kubectl create -f event-simulator.yaml
# kubectl logs 명령어로 로그 조회
kubectl logs event-simulator-pod
# 컨테이너가 두 개 이상일 경우 조회할 컨테이너 지정 필수(c 옵션 후 탭 입력 시 컨테이너 리스트 조회 가능)
kubectl logs event-simulator-pod -c event-simulator