์ฐ๋ฆฌ ๋๋ถ๋ถ์ IT ๋ธ๋ก๊ทธ๋ ์ปจํผ๋ฐ์ค์์ ๋ ๋ค๋ฅธ ์๋ก์ด ์ฉ์ด๋ฅผ ๋ฐ๊ฒฌํ๋ฉด ์กฐ๋ง๊ฐ ๋น์ทํ ์ง๋ฌธ์ ๋์ง๋๋ค. โ์ด๊ฒ ๋ญ์ฃ ? ๋ ๋ค๋ฅธ ์ ํ์ด, "์ ํ์ด", ์๋๋ฉด ์ ๋ง ๊ด์ฌ์ ๊ฐ๊ณ ์ฐ๊ตฌํ๊ณ ์๋ก์ด ์งํ์ ์ฝ์ํ ๋งํ ๊ฐ์น๊ฐ ์๋ ๊ฒ์ผ๊น์?โ ๋์๊ฒ๋ ๊ฐ์ ์ผ์ด ์ผ์ด๋ฌ๋ค. GitOps ์ ์. ๊ธฐ์กด์ ๋ง์ ๊ธฐ์ฌ์ ํ์ฌ ๋๋ฃ๋ค์ ์ง์์ผ๋ก ๋ฌด์ฅ
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์ฉ์ด์ ์ฐธ์ ํจ์ ๋ํด GitOps ์ฐ๋ฆฌ์ ์ต๊ทผ ์ค๋ฌธ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด ์ค๋ฌธ์กฐ์ฌ์ ์ฐธ์ฌํ ์ฌ๋ ์ค ์ ๋ฐ ์ด์์ด ์์ง ์ด ์์น์ ์ ์ฉํ๊ธฐ ์์ํ์ง ์์์ต๋๋ค.
๋ฐ๋ผ์ ์ธํ๋ผ ๊ด๋ฆฌ ๋ฌธ์ ๋ ์๋ก์ด ๊ฒ์ด ์๋๋๋ค. ๋ง์ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด๊ฐ ์์ญ ๋ ๋์ ์ผ๋ฐ ๋์ค์๊ฒ ์ ๊ณต๋์ด ์์ผ๋ฉฐ ์ธํ๋ผ๋ฅผ ๋ด๋นํ๋ ํ์ ์์ ์ ๊ฐ๋จํ๊ณ ๊ฐ๋จํ๊ฒ ๋ง๋ค์์ด์ผ ํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๊ทธ๋ฌ๋ ์๋ํ๊ฐ ์๋ก์ด ์์ค์ ๋๋ฌํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ๋น๊ตํ ๋, ์ธํ๋ผ ํ๋ก์ ํธ์๋ ์ฌ์ ํ ๋ง์ ์๋ ์์ ์ด ํฌํจ๋๊ณ , ํนํ ๋ด๊ฒฐํจ์ฑ, ์ ์ฐ์ฑ, ํ์ฅ์ฑ ๋ฐ ํ๋ ฅ์ฑ์ ๋ํ ์ค๋๋ ์ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํ ๋ ์ ๋ฌธ ์ง์๊ณผ ์ ๋ฌธ ์ง์์ด ํ์ํ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
ํด๋ผ์ฐ๋ ์๋น์ค๋ ์ด๋ฌํ ์๊ตฌ ์ฌํญ์ ๋งค์ฐ ์ฑ๊ณต์ ์ผ๋ก ์ถฉ์กฑํ์ผ๋ฉฐ ์ ๊ทผ ๋ฐฉ์ ๊ฐ๋ฐ์ ํฐ ์๊ทน์ ์ค ์ฌ๋์ด์์ต๋๋ค. IAC. ์ด๊ฒ์ ์ดํดํ ์ ์์ต๋๋ค. ๊ฒฐ๊ตญ ๋ฌผ๋ฆฌ์ ์๋ฒ, ๋ ๋๋ ๋คํธ์ํฌ ๊ตฌ์ฑ ์์๊ฐ ์๊ณ ์คํฌ๋ฆฝํธ์ ๊ตฌ์ฑ ํ์ผ์ ์ฌ์ฉํ์ฌ ์ ์ฒด ์ธํ๋ผ๋ฅผ ์ค๋ช ํ ์ ์๋ ์์ ํ ๊ฐ์ ๋ฐ์ดํฐ ์ผํฐ ๊ตฌ์ฑ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ฐจ์ด์ ์ ์ ํํ ๋ฌด์์ ๋๊น? GitOps ๋ถํฐ IAC? ์ ๊ฐ ์กฐ์ฌ๋ฅผ ์์ํ ๊ฒ์ ๋ฐ๋ก ์ด ์ง๋ฌธ์ด์์ต๋๋ค. ๋๋ฃ๋ค๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋ ํ ๋ค์๊ณผ ๊ฐ์ ๋น๊ต๋ฅผ ์๊ฐํด๋ผ ์ ์์์ต๋๋ค.
GitOps
IAC
๋ชจ๋ ์ฝ๋๋ git ์ ์ฅ์์ ์ ์ฅ๋ฉ๋๋ค.
์ฝ๋ ๋ฒ์ ๊ด๋ฆฌ๋ ์ ํ ์ฌํญ์ ๋๋ค.
์ ์ธ์ ์ฝ๋ ์ค๋ช /๋ฉฑ๋ฑ์ฑ
์ ์ธ์ ์ค๋ช ๊ณผ ๋ช ๋ นํ ์ค๋ช ๋ชจ๋ ํ์ฉ๋ฉ๋๋ค.
๋ณํฉ ์์ฒญ/ํ ์์ฒญ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ด ์ ์ฉ๋ฉ๋๋ค.
๊ณ์ฝ, ์น์ธ ๋ฐ ํ์ ์ ์ ํ ์ฌํญ์ ๋๋ค.
์ ๋ฐ์ดํธ ์ถ์ ํ๋ก์ธ์ค๊ฐ ์๋ํ๋์์ต๋๋ค.
์ ๋ฐ์ดํธ ๋กค์์ ํ๋ก์ธ์ค๊ฐ ํ์คํ๋์ง ์์์ต๋๋ค(์๋, ์๋, ํ์ผ ๋ณต์ฌ, ๋ช ๋ น์ค ์ฌ์ฉ ๋ฑ).
์ฆ GitOps ์๋ฆฌ๋ฅผ ์ ํํ๊ฒ ์ ์ฉํ์ฌ ํ์ํ์ต๋๋ค. IAC. ์ฒซ์งธ, ์ด์ ์ธํ๋ผ์ ๊ตฌ์ฑ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋์ผํ ๋ฐฉ์์ผ๋ก ์ ์ฅํ ์ ์์ต๋๋ค. ์ฝ๋๋ ์ ์ฅํ๊ธฐ ์ฝ๊ณ , ๊ณต์ , ๋น๊ต ๋ฐ โโ๋ฒ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ฌ์ฉํ๊ธฐ ์ฝ์ต๋๋ค. ๋ฒ์ , ๋ถ๊ธฐ, ๊ธฐ๋ก. ๊ทธ๋ฆฌ๊ณ ์ด ๋ชจ๋ ๊ฒ์ด ํ ์ ์ฒด๊ฐ ๊ณต๊ฐ์ ์ผ๋ก ์ ๊ทผํ ์ ์๋ ์ฅ์์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฒ์ ๊ด๋ฆฌ ์์คํ ์ ์ฌ์ฉ์ ์์ ํ ์์ฐ์ค๋ฌ์ด ๋ฐ์ ์ด ๋์์ต๋๋ค. ํนํ git์ด ๊ฐ์ฅ ์ธ๊ธฐ๊ฐ ๋ง์ต๋๋ค.
ํํธ, ์ธํ๋ผ ๊ด๋ฆฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๋ ๊ฒ์ด ๊ฐ๋ฅํด์ก์ต๋๋ค. ์ด์ ์ด ์์ ์ ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ด๋ฉฐ ์ ๋ ดํ๊ฒ ์ํํ ์ ์์ต๋๋ค. ๋์ฑ์ด CI/CD์ ์์น์ ์ด๋ฏธ ์ํํธ์จ์ด ๊ฐ๋ฐ์๋ค ์ฌ์ด์์ ์๋ ค์ ธ ์ธ๊ธฐ๋ฅผ ๋์์ต๋๋ค. ์ด๋ฏธ ์๋ ค์ง ์ง์๊ณผ ๊ธฐ์ ์ ์๋ก์ด ์์ญ์ผ๋ก ์ด์ ํ๊ณ ์ ์ฉํ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ฌํ ๊ดํ์ ์ฝ๋ํ ์ธํ๋ผ์ ํ์ค ์ ์๋ฅผ ๋์ด์ฐ์ต๋๋ค. GitOps.
ํธ๊ธฐ์ฌ GitOps, ๋ฌผ๋ก ์ด๋ ์ด๋ค ๊ณต๊ธ์ ์ฒด์๋ ๊ด๋ จ๋ ์ ํ, ํ๋ฌ๊ทธ์ธ ๋๋ ํ๋ซํผ์ด ์๋๋ผ๋ ์ฌ์ค์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. ์ด๋ ์ฐ๋ฆฌ์๊ฒ ์ต์ํ ๋ ๋ค๋ฅธ ์ฉ์ด์ธ DevOps์ ์ ์ฌํ ํจ๋ฌ๋ค์์ด์ ์ผ๋ จ์ ์์น์ ๊ฐ๊น์ต๋๋ค.
ํ์ฌ
GitOps๋ ๋ฒ์ ์ ์ด, ํ์ , ์ค์ผ์คํธ๋ ์ด์ , CI/CD ๋ฑ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ฌ์ฉ๋๋ ์ต๊ณ ์ DevOps ์์น์ ์ทจํ๊ณ ์ด๋ฅผ ์ธํ๋ผ ๊ด๋ฆฌ ์๋ํ ๊ณผ์ ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ๋ก ์ ๋๋ค.
๋ชจ๋ ๊ณต์ GitOps ๋๋ ๊ธฐ์กด ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํฉ๋๋ค. ๋ชจ๋ ์ธํ๋ผ ์ฝ๋๋ ์ด๋ฏธ ์ต์ํ git ์ ์ฅ์์ ์ ์ฅ๋๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ ์ฝ๋์ ๋์ผํ ์น์ธ ํ๋ก์ธ์ค๋ฅผ ๊ฑฐ์น๋ฉฐ ๋กค์์ ํ๋ก์ธ์ค๊ฐ ์๋ํ๋์ด ์ธ์ ์ค๋ฅ๋ฅผ ์ต์ํํ๊ณ ์์ ์ฑ๊ณผ ์ฌํ์ฑ์ ๋์ผ ์ ์์ต๋๋ค.
์ค์ฉ์ ์ธ ๊ด์ ์์ ์ค๋ช ํ์๋ฉด GitOps ๋ค์๊ณผ ๊ฐ์ด
์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ด ๊ณต์์ ํต์ฌ ๊ตฌ์ฑ ์์ ์ค ํ๋๋ก ์ฝ๋ํ ์ธํ๋ผ์ ๋ํด ๋ ผ์ํ์ต๋๋ค. ๋๋จธ์ง ์ฐธ๊ฐ์๋ค์ ์๊ฐํ๊ฒ ์ต๋๋ค.
๋ณํฉ ์์ฒญ(๋์ฒด ์ด๋ฆ ํ ์์ฒญ). ํ๋ก์ธ์ค ์ธก๋ฉด์์ MR์ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ ๋ค์ ๋ถ๊ธฐ๋ฅผ ๋ณํฉํ๋ผ๋ ์์ฒญ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ๋๊ตฌ ์ธก๋ฉด์์ ๋ณผ ๋ ์ด๋ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํ ์์ ํ ๊ทธ๋ฆผ์ ์ป์ ์ ์๋ ๊ธฐํ์ ๋ ๊ฐ๊น์ต๋๋ค. ํน์ ์์ ์ปค๋ฐ์์ ์์ง๋ ์ฝ๋ ์ฐจ์ด์ ๋ฟ๋ง ์๋๋ผ ์ปจํ ์คํธ, ํ ์คํธ ๊ฒฐ๊ณผ ๋ฐ ์ต์ข ์์ ๊ฒฐ๊ณผ. ์ธํ๋ผ ์ฝ๋์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒฝ์ฐ ์ธํ๋ผ๊ฐ ์ ํํ ์ด๋ป๊ฒ ๋ณ๊ฒฝ๋๋์ง, ์ผ๋ง๋ ๋ง์ ์๋ก์ด ๋ฆฌ์์ค๊ฐ ์ถ๊ฐ ๋๋ ์ ๊ฑฐ๋๊ณ ๋ณ๊ฒฝ๋๋์ง์ ๊ด์ฌ์ด ์์ต๋๋ค. ์ข ๋ ํธ๋ฆฌํ๊ณ ์ฝ๊ธฐ ์ฌ์ด ํ์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด์ ๊ฒฝ์ฐ ์ด๋ฌํ ๋ณํ๊ฐ ์ฌ์ ์ ์ผ๋ก ์ด๋ค ์ํฅ์ ๋ฏธ์น ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
ํ์ง๋ง MR์ ํ์ , ์ํธ์์ฉ, ์ปค๋ฎค๋์ผ์ด์ ์ ์๋จ์ด๊ธฐ๋ ํฉ๋๋ค. ๊ฒฌ์ ์ ๊ท ํ ์์คํ ์ด ์๋ํ๋ ๊ณณ์ ๋๋ค. ๊ฐ๋จํ ์๊ฒฌ๋ถํฐ ๊ณต์์ ์ธ ์น์ธ ๋ฐ ์น์ธ๊น์ง.
๋ง์ง๋ง ๊ตฌ์ฑ ์์์ธ CI/CD๋ ์ฐ๋ฆฌ๊ฐ ์ด๋ฏธ ์๊ณ ์๋ฏ์ด ์ธํ๋ผ ๋ณ๊ฒฝ ๋ฐ ํ ์คํธ(๊ฐ๋จํ ๊ตฌ๋ฌธ ํ์ธ๋ถํฐ ๋ณด๋ค ๋ณต์กํ ์ ์ ์ฝ๋ ๋ถ์๊น์ง) ํ๋ก์ธ์ค๋ฅผ ์๋ํํ ์ ์๊ฒ ํด์ค๋๋ค. ๋ํ ํ์ ๋๋ฆฌํํธ ๊ฐ์ง์์๋ ์์คํ ์ ์ค์ ์ํ์ ์ํ๋ ์ํ ๊ฐ์ ์ฐจ์ด๊ฐ ๋ฐ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋ฌด๋จ ์๋ ๋ณ๊ฒฝ์ด๋ ์์คํ ์ค๋ฅ๋ก ์ธํด ๋ฐ์ํฉ๋๋ค.
์, ์ฉ์ด์ผ GitOps ์ฐ๋ฆฌ์๊ฒ ์์ ํ ์๋ก์ด ๊ฒ์ ์๊ฐํ์ง๋ ์๊ณ , ๋ฐํด๋ฅผ ์ฌ๋ฐ๋ช ํ์ง๋ ์์ผ๋ฉฐ, ์ด๋ฏธ ์ถ์ ๋ ๊ฒฝํ์ ์๋ก์ด ์์ญ์ ์ ์ฉํ ๋ฟ์ ๋๋ค. ํ์ง๋ง ๊ทธ์ ๊ฐ์ ์ ์ฌ๊ธฐ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๊ฐ์๊ธฐ ์ด ๋ชจ๋ ๊ฒ์ด ์ค์ ๋ก ์ด๋ป๊ฒ ๋ณด์ด๋์ง์ ๊ด์ฌ์ด ์๊ธด๋ค๋ฉด, ์ฐ๋ฆฌ๋ฅผ ๋ณด๋๋ก ๊ถ์ ํฉ๋๋ค.
-
GitOps์ ๊ธฐ๋ณธ ์์น ๊ตฌํ
-
ํด๋ผ์ฐ๋ ์ธํ๋ผ ์์ฑ ๋ฐ ๋ณ๊ฒฝ(Yandex Cloud ์์ ์ฌ์ฉ)
-
ํ์ฑ ๋ชจ๋ํฐ๋ง์ ์ฌ์ฉํ์ฌ ์ํ๋ ์ํ์์ ์์คํ ๋๋ฆฌํํธ๋ฅผ ์๋์ผ๋ก ๊ฐ์ง
https://bit.ly/34tRpwZ
์ถ์ฒ : habr.com