Certified Kubernetes Administrator (CKA) with Practice Tests (강의 링크, 레퍼런스 노트)
- 평소 강의 할인도 많이 하고, 연습문제도 풀어볼 수 있으니 실제 강의 수강을 추천
- 아래는 강의 내용 번역 및 정리본 (문제 시 댓글로 알려주세요)
모니터링
- 노드 단위 평가지표 (metrics)
- e.g. 노드의 개수, 건강한 노드의 개수, CPU/메모리/네트워크/디스크 이용률
- pod 단위 평가지표
- e.g. pod의 개수, CPU/메모리 사용량
- 이와 같은 평가지표를 모니터링하고, 저장하고, 분석을 제공하는 솔루션 필요
- 쿠버네티스가 제공하는 빌트인 솔루션은 없으나, 다양한 오픈소스 솔루션이 존재
- e.g. Metrics Server, Prometheus, Elastic Stack, Datadog, Dynatrace
Metrics Server
- Heapster
- 모니터링, 분석이 가능했으나 현재 사용 불가(deprecated)
- Heapster의 간결화 버전이 Metrics Server
- 클러스터 별로 Metrics Server 하나 가질 수 있음
- in-memory 모니터링 솔루션
- kubelet 내에 cAdvisor (혹은 container advisor) 활용
- 성능 지표들을 수집해 kubelet API를 통해 metrics server로 전송
관련 명령어
- 시작하기
minikube addons enable metrics-server
git clone https://github.com/.../metrics-server.git
kubectl create -f deploy/1.8+/
- CPU, 메모리 사용량 조회
kubectl top node
kubectl top pod
로그 관리
도커 로그
docker run [컨테이너]
docker run -d [컨테이너]
- detached mode로 실행 시 백그라운드에서 실행되기 때문에 로그 확인 불가
docker logs -f [컨테이너ID]
쿠버네티스 로그
kubectl logs -f [pod명]
kubectl logs -f [pod명] [컨테이너명]
- 하나의 pod에 여러 개의 컨테이너가 존재한다면, 컨테이너 이름을 명기해야 함