[k8s] operator

์ด์ „ ํฌ์ŠคํŠธ
https://blog.naver.com/sssang97/223114653465
operator ํŒจํ„ด์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์˜ ํ•ต์‹ฌ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋‹ค.
CustomResource์™€ ๋”๋ถˆ์–ด์„œ ํ™•์žฅ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋”ฐ์œ„๋ฅผ ๋งŒ๋“ค๋•Œ ์ฃผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

operator์™€ custom resouce๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋กœ ์‘์šฉ๋œ๋‹ค.

https://www.cncf.io/blog/2022/06/15/kubernetes-operators-what-are-they-some-examples/
custom resource๊ฐ€ ์ตœ์ข… client๊ฐ€ ์š”๊ตฌํ•˜๋Š” ์š”์ฒญ์„ ์ •์˜ํ•œ ๋ฆฌ์†Œ์Šค ์ •์˜๋ผ๋ฉด, operator๋Š” ๊ทธ๊ฑธ ์ฝ์–ด์„œ ์‹ค์งˆ์ ์ธ ๋™์ž‘์„ ์ฑ…์ž„์ง€๋Š” controller ์—ญํ• ์„ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์—ฌ๊ธฐ์„œ custom resource๋Š” yaml์˜ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ, operator๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ๊ทธ๋žจ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์™€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ด์„œ๋งŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์™„์„ฑ๋œ ์‹คํ–‰ํŒŒ์ผ์„ ๋„์ปค๋กœ ๋ง์•„์„œ ๊ด€๋ฆฌ์ž ๊ถŒํ•œ์„ ๊ฐ€์ง„ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ๋„์šฐ๋Š” ํ˜•ํƒœ๊ฐ€ ๋œ๋‹ค.

operator๋ฅผ ๋งŒ๋“ค๋•Œ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉ๋˜๋Š”๊ฑด ํ™•์‹คํžˆ Go๊ณ , Rust๋Š” ๊ทธ ๋‹ค์Œ์ธ ๊ฒƒ ๊ฐ™๋‹ค.

๋Œ€ํ‘œ์ ์œผ๋กœ ๋„คํŠธ์›Œํฌ ๊ด€๋ จ ํ”Œ๋Ÿฌ๊ทธ์ธ์ธ calico ๋”ฐ์œ„๊ฐ€ operator๋กœ ๋งŒ๋“ค์–ด์ง„ ํˆดํ‚ท์ด๋‹ค.



์ฐธ์กฐ
https://kubernetes.io/ko/docs/concepts/extend-kubernetes/operator/
https://iximiuz.com/en/posts/kubernetes-operator-pattern/
https://metalbear.co/blog/writing-a-kubernetes-operator/
https://kubernetes.io/ko/docs/concepts/architecture/controller/