2022.06. ์ด์žฅ์žฌ ๐Ÿ“ง cine0831@gmail.com ๐Ÿ“‚ https://github.com/jangjaelee ๐Ÿ“’ http://www.awx.kr



What is Prometheus Operator?

Prometheus Operator๋Š” Prometheus ๊ธฐ๋ฐ˜ Kubernetes ๋ชจ๋‹ˆํ„ฐ๋ง ์Šคํƒ์„ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•˜์—ฌ Kubernetes Operator ํŒจํ„ด์„ ๊ตฌํ˜„ํ•œ ๊ฒƒ ์ž…๋‹ˆ๋‹ค. Kubernetes Operator๋Š” Kubernetes์—์„œ ํŠน์ • ์„œ๋น„์Šค์˜ ์‹คํ–‰์„ ๊ด€๋ฆฌ ๋ฐ ๊ตฌํ˜„ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ์ถ”์ƒํ™”ํ•˜๊ธฐ ์œ„ํ•ด Kubernetes custom resource์™€ controller code๋กœ ๊ตฌ์„ฑ ๋ฉ๋‹ˆ๋‹ค.

Prometheus Operator์˜ ์ฃผ์š” ๋ชฉ์ ์€ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹คํ–‰๋˜๋Š” Prometheus ๋ชจ๋‹ˆํ„ฐ๋ง ์Šคํƒ์˜ ๊ตฌ์„ฑ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ์ž๋™ํ™”ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ, Kubernetes CustomResourceDefinitions(CRDs)๋ฅผ ํ†ตํ•ด Prometheus, Alertmanager ๋ฐ ๊ธฐํƒ€ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉ์ž ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ServiceMonitor custom resource๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ YAML manifest์—์„œ Kubernetes ์„œ๋น„์Šค ๊ทธ๋ฃน์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, Operator controller๋Š” K8s API ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜์—ฌ Service endpoints์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๊ตฌ์„ฑ๋œ ์„œ๋น„์Šค์— ํ•„์š”ํ•œ Prometheus scrape ๊ตฌ์„ฑ์„ ์ž๋™์œผ๋กœ ์ƒ์„ฑ ํ•ฉ๋‹ˆ๋‹ค.

Prometheus Operator์˜ ์ฃผ์š” ํŠน์ง•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.


Overview

Prometheus Operator๋ฅผ ์„ค์น˜ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๊ณ  Prometheus ๋ชจ๋‹ˆํ„ฐ๋ง ์Šคํƒ์„ ๊ตฌ์„ฑํ•˜๊ณ  ์žˆ๋Š” Prometheus Operator์˜ custom resources์—๋Š” ์–ด๋–ค ๊ฒƒ๋“ค์ด ์žˆ๋Š”์ง€ ๊ทธ๋ฆฌ๊ณ  custom resource์˜ YAML Example๋ฅผ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.


Operator Capability Level

Prometheus Operator๋Š” ์„ฑ์ˆ™๋„ ์ˆ˜์ค€์ด Level IV๋กœ ๊นŠ์€ ํ†ต์ฐฐ๋ ฅ(Deep Insights) ์ˆ˜์ค€์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.