Search

[CKA] 25. Monitor Cluster Components

Date
2024/12/09
Category
Devops
Tag
Kubernetes
CKA
Monitoring
๋ชฉ์ฐจ

ย Monitoring Solution

ํด๋Ÿฌ์Šคํ„ฐ์— ์žˆ๋Š” ๋…ธ๋“œ์˜ ์ˆ˜, healty ๋…ธ๋“œ์˜ ์ˆ˜, CPU, ๋ฉ”๋ชจ๋ฆฌ, ๋„คํŠธ์›Œํฌ, ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰๊ณผ ๊ฐ™์€ ๋…ธ๋“œ ๋ ˆ๋ฒจ์—์„œ์˜ ์„ฑ๋Šฅ ๋ฉ”ํŠธ๋ฆญ์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๊ณ , ํŒŒ๋“œ์˜ ์ˆ˜์™€ ๊ฐ ํŒŒ๋“œ์˜ ์„ฑ๋Šฅ ๋ฉ”ํŠธ๋ฆญ, CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ์˜ ํŒŒ๋“œ ๋ ˆ๋ฒจ ๋ฉ”ํŠธ๋ฆญ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Monitoring Solution์ด ํ•„์š”ํ•˜๋‹ค. ํ•˜์ง€๋งŒ 2018๋…„ 10์›” ๊ธฐ์ค€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—๋Š” ์™„์ „ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ๋‚ด์žฅ(full-featured build-in) ๋ชจ๋‹ˆํ„ฐ๋ง ์†”๋ฃจ์…˜์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” Metrics Server, Prometheus, Elastic Stack ๋“ฑ ์˜คํ”ˆ์†Œ์Šค ์†”๋ฃจ์…˜์„ ํ™œ์šฉํ•ด์•ผ ํ•œ๋‹ค.

ย Heapster

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ feature๋“ค์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ์ ํŠธ๋กœ, ๋งŽ์€ ๋ ˆํผ๋Ÿฐ์Šค๋“ค์ด ์กด์žฌํ•˜์ง€๋งŒ ํ˜„์žฌ๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค

ย Metrics Server

Heapster๊ฐ€ ์‚ฌ๋ผ์ง€๊ณ (deprecated) ๊ฐ„์†Œํ™”๋œ ๋ฒ„์ „์œผ๋กœ Metrics Server๊ฐ€ ๋งŒ๋“ค์–ด์กŒ๋‹ค
โ€ข
์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ ๋‹น ํ•˜๋‚˜์˜ Metrics Server๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ
โ€ข
๊ฐ ๋…ธ๋“œ์™€ ํŒŒ๋“œ์—์„œ ๋ฉ”ํŠธ๋ฆญ ์ •๋ณด๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ , ์ด๋ฅผ ์ง‘๊ณ„ํ•ด ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ
โ€ข
์˜ค์ง ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์—์„œ ์ž‘๋™ํ•˜๋Š”(in-memory) ๋ชจ๋‹ˆํ„ฐ๋ง ์†”๋ฃจ์…˜์ด๋ฉฐ, ๋ฉ”ํŠธ๋ฆญ์„ ๋””์Šคํฌ์— ์ €์žฅํ•˜์ง€ ์•Š์Œ
โ—ฆ
๋”ฐ๋ผ์„œ ๊ณผ๊ฑฐ ์„ฑ๋Šฅ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์—†์Œ
โ—ฆ
๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค๋ฅธ ์˜คํ”ˆ์†Œ์Šค ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ

How to Generate Metrics for Pods

โ€ข
๊ฐ ๋…ธ๋“œ์—๋Š” kube-apiserver๋กœ๋ถ€ํ„ฐ ์ง€์‹œ๋ฅผ ๋ฐ›๊ณ  Pod๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” kublet์ด ์กด์žฌ
โ€ข
kublet์€ cAdvisor(Container Advisor)๋ผ๋Š” ํ•˜์œ„ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ํฌํ•จ
โ€ข
cAdvisor๋Š” ํŒŒ๋“œ์˜ ์„ฑ๋Šฅ ๋ฉ”ํŠธ๋ฆญ์„ ์ˆ˜์ง‘ํ•˜๊ณ , ์ด๋ฅผ kubelet API๋ฅผ ํ†ตํ•ด ๋…ธ์ถœํ•˜์—ฌ Metrics Server์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ

Getting Started

# Metrics Server ๋ฐฐํฌ ํŒŒ์ผ ๋ณต์ œ git clone https://github.com/kubernetes-incubator/metrics-server.git # ํ•„์ˆ˜ ๊ตฌ์„ฑ ์š”์†Œ ๋ฐฐํฌ(Pod, Service, Role) kubectl create -f deploy/1.8+ # CPU, Memory ์‚ฌ์šฉ๋Ÿ‰ ํ™•์ธ kubectl top node kubectl top pod
Bash
๋ณต์‚ฌ