kubernetes7 Dynamic Admission Controller ์ฌ์ฉํ๊ธฐ ์ฟ ๋ฒ๋คํฐ์ค๋ ์ ์ธํ ํจ๋ฌ๋ค์์ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ ๋ฐ ์ด์์ ๋ณด๋ค ์ฝ๊ฒํ ์ ์๋๋ก ๋์์ค๋๋ค. ํ์ง๋ง ์์คํ ๊ฐ๋ฐ ์ธก๋ฉด์์๋ ์ฟ ๋ฒ๋คํฐ์ค๋ผ๋ ์๋ก์ด ๊ฐ๋ ๋ฐ ์ํคํ ์ณ๋ฅผ ์ดํดํด์ผํ๊ณ ์ด๋ก ์ธํด ์๋น์ค์ ๋ณต์ก๋ ๋ํ ์ฆ๊ฐํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ฟ ๋ฒ๋คํฐ์ค ํ๋ซํผ์ ์ ๊ณตํ๋ Provider์ ์ ์ฅ์์๋ ์ด์์ ์์ด ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํด ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑ ๋ฐ ๋ฐฐํฌ ๋ฐฉ๋ฒ์ ์ถ์ํ์์ผ ์ ๊ณตํ ํ์์ฑ์ด ์กด์ฌํฉ๋๋ค. ํ์ง๋ง ์ถ์ํ๋ฅผ ๋ฌ์ฑํ ๋, ์ด๋ ์ ๋์ ์ถ์ํ๋ฅผ ์ ๊ณตํ ์ง์ ๋ํ ๊ณ ๋ฏผ์ด ํ์ํฉ๋๋ค. ๊ณ ์์ค์ ์ถ์ํ๋ฅผ ๋ฌ์ฑํ๋ฉด ๊ฐ๋ฐ์๊ฐ ์ด์์ ์์ด ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ค์ํ๋๋ก ๋ง๋ค ์ ์์ง๋ง, ์ง๋์น ์ถ์ํ๋ ์ธ๋ถ ์ค์ ์ ๋ํด ์ ๊ทผ์ ์ด๋ ต๊ฒํ๊ณ , ๋ซํ ์์คํ ์ด ๋ ์ํ์ด ์กด์ฌํฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋์ ๋์ ์ถ์ํ๋ฅผ ๋ฌ์ฑ.. 2021. 4. 29. [Kubernetes ๋ด๋ถ ๊ตฌ์กฐ ์ดํดํ๊ธฐ] 1. ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ ๊ตฌ์ฑ ์์ ๊ทธ๋์ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๋ฉด์ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ์ด๋ ์ฌ์ฉ์ ํ์ง๋ง ์๋ฆฌ๋ฅผ ์์ง ๋ชปํ๋ ๋ถ๋ถ๋ค์ ๋ํด ์ ๋ฆฌํด๋ณด๊ณ ์ ๊ธ์ ์์ฑํ๋ ค๊ณ ํฉ๋๋ค. ์ด ๊ธ์ Kubernetes In Action์ ์ฝ๊ณ ์ฐธ๊ณ ํ์ฌ ์์ฑํ๋ ๊ธ์ ๋๋ค. ์ด๋ฒ ๊ธ์์๋ ์ฟ ๋ฒ๋คํฐ์ค ๋ด๋ถ ์ํคํ ์ณ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ ์ปจํธ๋กค ํ๋ ์ธ(๋ง์คํฐ ๋ ธ๋)์ ์์ปค ๋ ธ๋๋ก ์ด๋ฃจ์ด์ง๋๋ค. ๋จผ์ ์ปจํธ๋กค ํ๋ ์ธ๋ถํฐ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ปจํธ๋กค ํ๋ ์ธ ์ปจํธ๋กค ํ๋ ์ธ์ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์ ๊ธฐ๋ฅ์ ์ ์ดํ๋ ์ญํ ์ ํฉ๋๋ค. ์ปจํธ๋กค ํ๋ ์ธ์ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์ฑ์์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. API Server Scheduler Controller Manager etcd ์ปจํธ๋กค ํ๋ ์ธ์์ ํด๋น ์์๋ค์ ๊ฐ๋ณ์ ์ธ ํ๋ก์ธ์ค๋ก ๋์ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ฐ ๊ตฌ์ฑ ์์๋ค์ .. 2021. 4. 12. [Kubernetes Best Practice] 2. ๊ฐ๋ฐ์ ์ํฌํ๋ก ์ด ๊ธ์ Kubernetes Best Practice๋ฅผ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ์ค์ํ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ๊ณผ ์ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ํด ๊ณต๋ถํ ๋ด์ฉ์ ์์ฑํ ๊ธ์ ๋๋ค. ๋ชจ๋ ๋ด์ฉ์ ์ฑ ์ ํฌํจ๋์ด ์๋ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์์ผ๋ฉฐ ์์ธํ ๋ด์ฉ์ด ๊ถ๊ธํ์ ๋ถ๋ค์ ์ฑ ์ ๊ตฌ๋งคํด์ ์ฝ๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ์ต๊ทผ ์๋น์ค ๋ฉ์์ ๋ํด ์์๋ณด๊ฑฐ๋ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๊ณ ๊ณต๋ถํ๋ฉด์ ๊ฐ์ฅ ๋ง์ด ๋ค์๋ ์๊ฐ์ ์ด ๋ฐฉ๋ฒ์ด ์ต์ ์ธ๊ฐ? ๋ผ๋ ์๊ฐ์ด์์ต๋๋ค. ์ด์ ๋ํ ๊ถ๊ธ์ฆ์ ํด๊ฒฐํ๋๋ฐ ๋์์ด ๋ ๋งํ ์ฑ ์ ๋ฐ๊ฒฌํด์ ์ฝ์ด๋ณด๊ณ ์ ํฉ๋๋ค. ๊ฐ๋ฐ๋จ๊ณ์์ ์ฟ ๋ฒ๋คํฐ์ค ํ์ฉ Kubernetes๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ ๋ฐ ๊ด๋ฆฌ ์ธก๋ฉด์์ ๋ง์ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค. Controller๋ฅผ ํตํ Reconcile ๋ก์ง ์ํ, Deployment๋ฅผ ํตํ Ro.. 2021. 1. 31. [Kubernetes Best Practice] 1. ๊ธฐ๋ณธ ์๋น์ค ์ค์น ์ด ๊ธ์ Kubernetes Best Practice๋ฅผ ์ฝ๊ณ ๊ฐ์ธ์ ์ผ๋ก ์ค์ํ๋ค๊ณ ์๊ฐํ๋ ๋ถ๋ถ๊ณผ ์ ๋ชจ๋ฅด๋ ๋ถ๋ถ์ ๋ํด ๊ณต๋ถํ ๋ด์ฉ์ ์์ฑํ ๊ธ์ ๋๋ค. ๋ชจ๋ ๋ด์ฉ์ ์ฑ ์ ํฌํจ๋์ด ์๋ ๋ด์ฉ์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ์์ผ๋ฉฐ ์์ธํ ๋ด์ฉ์ด ๊ถ๊ธํ์ ๋ถ๋ค์ ์ฑ ์ ๊ตฌ๋งคํด์ ์ฝ๋ ๊ฒ์ ๊ถ์ฅ๋๋ฆฝ๋๋ค. ์ต๊ทผ ์๋น์ค ๋ฉ์์ ๋ํด ์์๋ณด๊ฑฐ๋ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๊ณ ๊ณต๋ถํ๋ฉด์ ๊ฐ์ฅ ๋ง์ด ๋ค์๋ ์๊ฐ์ ์ด ๋ฐฉ๋ฒ์ด ์ต์ ์ธ๊ฐ? ๋ผ๋ ์๊ฐ์ด์์ต๋๋ค. ์ด์ ๋ํ ๊ถ๊ธ์ฆ์ ํด๊ฒฐํ๋๋ฐ ๋์์ด ๋ ๋งํ ์ฑ ์ ๋ฐ๊ฒฌํด์ ์ฝ์ด๋ณด๊ณ ์ ํฉ๋๋ค. ์ค์ ํ์ผ ๊ด๋ฆฌ ์ฟ ๋ฒ๋คํฐ์ค์์๋ ๋ชจ๋ ๊ฒ์ ์ ์ธ์ ์ผ๋ก ํํํฉ๋๋ค. ์ฆ, ํด๋ฌ์คํฐ์ ์ํ๋ฅผ ์ด๋ป๊ฒ ๋ณ๊ฒฝํ ์ง ๋ช ๋ น์ ์ ๊ทผ์ด ์๋ Desired State๋ฅผ ์ ์ํ๋ ์ ์ธ์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํฉ๋๋ค. ๋ง์ฝ ๋ช ๋ น์ ์ธ ๋ฐฉ๋ฒ์ ์ฌ์ฉ.. 2021. 1. 30. Elasticsearch Operator ๊ฐ๋ฐํ๊ธฐ ์ด๋ฒ ๊ธ์์๋ Operator SDK๋ฅผ ํตํด Elasticsearch Cluster๋ฅผ ํธ๋ฆฌํ๊ฒ ๊ด๋ฆฌํ ์ ์๋ Elasticsearch Operator๋ฅผ ๋ง๋ค์ด๋ณด๊ฒ ์ต๋๋ค. Operator๊ฐ ๋ฌด์์ธ์ง, Operator SDK์ ๋ํ ๊ธฐ๋ณธ์ ์ธ ์ฌ์ฉ๋ฐฉ๋ฒ์ด ๊ถ๊ธํ์ ๋ถ๊ป์๋ ์ด์ ๊ธ์ ์ฐธ๊ณ ํด์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค.Elasticsearch Cluster๋จผ์ Operator๋ก ๊ด๋ฆฌํ Elasticsearch Operator์ ๋ํ ์คํ์ ๊ฐ๋จํ ์์๋ณด๊ฒ ์ต๋๋ค. Cluster ๊ตฌ์ฑ์ ์ ๊ฐ ์ด์ ์ ์์ฑํ๋ Elasticsearch Helm Chart์ ๊ตฌ์ฑ์ ์ฌ์ฉํ์์ต๋๋ค.Master Node & Master Eligible Node ๋ง์คํฐ ๋ ธ๋์ ๋ง์คํฐ ๋ ธ๋๊ฐ ๋ค์ด๋์ ๋ ์น๊ฒฉ๋ ์ ์๋ ํ๋ณด ๋ ธ๋์ ๋๋ค.Hot Dat.. 2020. 12. 18. Kubernetes Operator (feat. Operator SDK) ์ด๋ฒ ๊ธ์์๋ ์ฌ์ฉ์ ์ ์ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ์ฌ ์ดํ๋ฆฌ์ผ์ด์ ๋ฐ ํด๋น ์ปดํฌ๋ํธ๋ฅผ ๊ด๋ฆฌํ๋ Operator ํจํด์ ๋ํด์ ์์๋ณด๊ณ , ๊ณต์ ๋ฌธ์์ ๋ฐ๋ผ ๊ฐ๋จํ Custom Operator๋ฅผ ๋ง๋ค์ด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.Operator๋?Operator๊ฐ ๋ฌด์์ธ์ง ์์๋ณด๊ธฐ ์ด์ ์ Controller๋ผ๋ ๊ฐ๋ ์ ๋ํด ๋จผ์ ์ดํด๋ณด๊ฒ ์ต๋๋ค.ControllerKubernetes Patterns ์ฑ ์ ์ฐธ๊ณ ํ๋ฉด Kubernetes์์ ๋ฆฌ์์ค์ Status๋ฅผ ๊ฐ์ํ๋ฉฐ ์ํ๋ ์ํ(Spec)๋ก ๋ง๋๋ ๊ฒ์ Controller๋ผ๊ณ ํฉ๋๋ค.ํ์ง๋ง, ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ Controller์ ๊ธฐ๋ฅ ์ด์ธ์๋ ๋ ๋ณต์กํ ์ดํ๋ฆฌ์ผ์ด์ ๊ด๋ฆฌ ๋ก์ง์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ถ๋ช ์กด์ฌํฉ๋๋ค. ์ด๋ฐ ์ํฉ์ ์ปค๋ฒํ๊ธฐ ์ํด ๋ฑ์ฅํ ๊ฒ์ด Operator์ ๋๋ค.Ope.. 2020. 12. 18. ์ด์ 1 2 ๋ค์