๐ Kubernetes6 Dynamic Admission Controller ์ฌ์ฉํ๊ธฐ ์ฟ ๋ฒ๋คํฐ์ค๋ ์ ์ธํ ํจ๋ฌ๋ค์์ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ ๋ฐ ์ด์์ ๋ณด๋ค ์ฝ๊ฒํ ์ ์๋๋ก ๋์์ค๋๋ค. ํ์ง๋ง ์์คํ ๊ฐ๋ฐ ์ธก๋ฉด์์๋ ์ฟ ๋ฒ๋คํฐ์ค๋ผ๋ ์๋ก์ด ๊ฐ๋ ๋ฐ ์ํคํ ์ณ๋ฅผ ์ดํดํด์ผํ๊ณ ์ด๋ก ์ธํด ์๋น์ค์ ๋ณต์ก๋ ๋ํ ์ฆ๊ฐํ๊ฒ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ฟ ๋ฒ๋คํฐ์ค ํ๋ซํผ์ ์ ๊ณตํ๋ Provider์ ์ ์ฅ์์๋ ์ด์์ ์์ด ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํด ์ดํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑ ๋ฐ ๋ฐฐํฌ ๋ฐฉ๋ฒ์ ์ถ์ํ์์ผ ์ ๊ณตํ ํ์์ฑ์ด ์กด์ฌํฉ๋๋ค. ํ์ง๋ง ์ถ์ํ๋ฅผ ๋ฌ์ฑํ ๋, ์ด๋ ์ ๋์ ์ถ์ํ๋ฅผ ์ ๊ณตํ ์ง์ ๋ํ ๊ณ ๋ฏผ์ด ํ์ํฉ๋๋ค. ๊ณ ์์ค์ ์ถ์ํ๋ฅผ ๋ฌ์ฑํ๋ฉด ๊ฐ๋ฐ์๊ฐ ์ด์์ ์์ด ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์ค์ํ๋๋ก ๋ง๋ค ์ ์์ง๋ง, ์ง๋์น ์ถ์ํ๋ ์ธ๋ถ ์ค์ ์ ๋ํด ์ ๊ทผ์ ์ด๋ ต๊ฒํ๊ณ , ๋ซํ ์์คํ ์ด ๋ ์ํ์ด ์กด์ฌํฉ๋๋ค. ๋ฐ๋ผ์ ์ด๋์ ๋์ ์ถ์ํ๋ฅผ ๋ฌ์ฑ.. 2021. 4. 29. [Kubernetes ๋ด๋ถ ๊ตฌ์กฐ ์ดํดํ๊ธฐ] 1. ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ ๊ตฌ์ฑ ์์ ๊ทธ๋์ ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๋ฉด์ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ์ด๋ ์ฌ์ฉ์ ํ์ง๋ง ์๋ฆฌ๋ฅผ ์์ง ๋ชปํ๋ ๋ถ๋ถ๋ค์ ๋ํด ์ ๋ฆฌํด๋ณด๊ณ ์ ๊ธ์ ์์ฑํ๋ ค๊ณ ํฉ๋๋ค. ์ด ๊ธ์ Kubernetes In Action์ ์ฝ๊ณ ์ฐธ๊ณ ํ์ฌ ์์ฑํ๋ ๊ธ์ ๋๋ค. ์ด๋ฒ ๊ธ์์๋ ์ฟ ๋ฒ๋คํฐ์ค ๋ด๋ถ ์ํคํ ์ณ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ ์ปจํธ๋กค ํ๋ ์ธ(๋ง์คํฐ ๋ ธ๋)์ ์์ปค ๋ ธ๋๋ก ์ด๋ฃจ์ด์ง๋๋ค. ๋จผ์ ์ปจํธ๋กค ํ๋ ์ธ๋ถํฐ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ปจํธ๋กค ํ๋ ์ธ ์ปจํธ๋กค ํ๋ ์ธ์ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ์ ๊ธฐ๋ฅ์ ์ ์ดํ๋ ์ญํ ์ ํฉ๋๋ค. ์ปจํธ๋กค ํ๋ ์ธ์ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์ฑ์์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. API Server Scheduler Controller Manager etcd ์ปจํธ๋กค ํ๋ ์ธ์์ ํด๋น ์์๋ค์ ๊ฐ๋ณ์ ์ธ ํ๋ก์ธ์ค๋ก ๋์ํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด ๊ฐ ๊ตฌ์ฑ ์์๋ค์ .. 2021. 4. 12. Pinpoint Agent Helm Chart ์์ฑํ๊ธฐ ์๋ 8์๋ถํฐ ์งํํ๋ Pinpoint Helm Chart ์ค Agent์ ๋ํ Helm Chart ์ ์ ๊ณผ์ ์ ๋ํด์ ๋ค๋ฃจ์ด๋ณด๊ณ ์ ํฉ๋๋ค. Introduction Pinpoint Agent๋ Java, Go, NodeJS, C ๋ฑ ๋ค์ํ ์ธ์ด์ ๋ํ agent๊ฐ ์กด์ฌํ๊ณ ๊ฐ๊ธฐ ๋ค๋ฅธ ์ฌ์ฉ๋ฐฉ๋ฒ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๊ทธ ์ค ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ Java Agent์ ๋ํด Helm Chart ์์ฑ์ ์์ํ์์ต๋๋ค. Java Agent๋ ์คํ์ ์ํ jar ํ์ผ๊ณผ ์ ์ฉํ config๋ฅผ ํ์๋ก ํฉ๋๋ค. jar ํ์ผ๊ณผ config option์ target application์ ์คํํ ๋ ๋ถ์ฐฉํจ์ผ๋ก์จ data๋ฅผ ์์ง, collector๋ก ์ ์กํ๊ฒ ๋ฉ๋๋ค. ์ฆ, application๊ณผ ๋์ผํ ์ปจํ ์ด๋์ agent๋ฅผ ์.. 2021. 3. 6. 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. Argo Project๋ฅผ ์ฌ์ฉํ์ฌ CI/CD ๊ตฌ์ถํ๊ธฐ ์กธ์ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ Spring Boot ์ดํ๋ฆฌ์ผ์ด์ ์ ๋ํ CI/CD๋ฅผ ๊ตฌ์ถํด์ผํ๋ ๋์ฆ๊ฐ ์์๊ณ ๋ค์ํ ๋๊ตฌ๋ค์ ์ดํด๋ณด๋ค๊ฐ ์ฟ ๋ฒ๋คํฐ์ค์ ์นํ์ ์ธ Argo ํ๋ก์ ํธ๋ฅผ ์ฌ์ฉํ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ Argo Project์ธ Argo Event์ Argo Workflow๋ฅผ ์ด์ฉํ CI์ Argo CD๋ฅผ ์ด์ฉํ CD ์ํคํ ์ณ๋ฅผ ๊ตฌ์ถํ๋ ๊ณผ์ ์ ๋ํด ๋ค๋ค๋ณด๊ณ ์ ํฉ๋๋ค. CI Overview ์ด๋ฒ ๊ธ์์ ๊ตฌ์ถํ CI ๊ณผ์ ์ ๊ฐ๋ตํ๊ฒ ์๊ฐํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. Github Webhook๋ฅผ Argo Event๊ฐ ๋ฐ์ CI Workflow ํ์ฑํ ์ ํ๋ฆฌ์ผ์ด์ ๋จ์ ํ ์คํธ ์ํ ๋์ปค ์ด๋ฏธ์ง ๋น๋ GCR์ ์ด๋ฏธ์ง ํธ์ Deploy Repository์ Kustomize ํ์ผ ์์ (์ต์ ํ๊ทธ๋ฅผ ๋ฐ์ํ ์ด๋ฏธ์ง) Dep.. 2020. 12. 18. ์ด์ 1 ๋ค์