๋ฉ๋ชจ. ๋ฒ์ญ: ์๋ณธ ๊ธฐ์ฌ์ ์ ์๋ Google Cloud Solutions Architect์ธ Thรฉo Chamley์
๋๋ค. Google Cloud ๋ธ๋ก๊ทธ์ ์ด ๊ฒ์๋ฌผ์์ ๊ทธ๋ '
์ด ๊ธฐ์ฌ์์๋ Kubernetes์์ ์ปจํ
์ด๋๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์คํํ๊ธฐ ์ํด ์์์ผ ํ ์ฌํญ๊ณผ ์ํํด์ผ ํ ์ฌํญ์ ๋ชฉ๋ก์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ ์์ธํ ๋ด์ฉ์ ์๊ณ ์ถ์ ๋ถ์ ์๋ฃ๋ฅผ ์ฝ์ด๋ณด์ธ์.
1. ๊ธฐ๋ณธ ์ปจํ ์ด๋ ๋ก๊น ๋ฉ์ปค๋์ฆ ์ฌ์ฉ
์ ํ๋ฆฌ์ผ์ด์
์ด Kubernetes ํด๋ฌ์คํฐ์์ ์คํ ์ค์ธ ๊ฒฝ์ฐ ๋ก๊ทธ์๋ ๊ทธ๋ค์ง ํ์ํ์ง ์์ต๋๋ค. ์ฌ์ฉ ์ค์ธ ํด๋ฌ์คํฐ์๋ ์ค์ ์ง์ค์ ๋ก๊น
์์คํ
์ด ์ด๋ฏธ ๊ตฌ์ถ๋์ด ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. Kubernetes Engine์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด์ ๋ํ ์ฑ
์์ด ์์ต๋๋ค.
์ํ๋ ๊ฒฝ์ฐ ๋ก๊ทธ๋ฅผ ์์ฑํ ์๋ ์์ต๋๋ค.
2. ์ปจํ ์ด๋๊ฐ ์ํ ๋น์ ์ฅ(Stateless)์ด๊ณ ๋ถ๋ณ์ธ์ง ํ์ธํ์ธ์.
์ปจํ ์ด๋๊ฐ Kubernetes ํด๋ฌ์คํฐ์์ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋ ค๋ฉด ์ํ ๋น์ ์ฅ ๋ฐ ๋ถ๋ณ์ด์ด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋๋ฉด Kubernetes๋ ํ์ํ ๋ ์ธ์ ์ด๋์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ํฐํฐ๋ฅผ ์์ฑํ๊ณ ์ญ์ ํ๋ ์์ ์ ์ํํ ์ ์์ต๋๋ค.
๋ฌด๊ตญ์ ์ ๋ชจ๋ ์ํ(๋ชจ๋ ์ข
๋ฅ์ ์๊ตฌ ๋ฐ์ดํฐ)๊ฐ ์ปจํ
์ด๋ ์ธ๋ถ์ ์ ์ฅ๋๋ค๋ ์๋ฏธ์
๋๋ค. ์ด๋ฅผ ์ํด ํ์์ ๋ฐ๋ผ ๋ค์ํ ์ ํ์ ์ธ๋ถ ์ ์ฅ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ณ๊ฒฝํ ์์๋ ์ด๋ ์ปจํ
์ด๋๊ฐ ์๋ช
๋์ ์์ ๋์ง ์์์ ์๋ฏธํฉ๋๋ค(์
๋ฐ์ดํธ, ํจ์น, ๊ตฌ์ฑ ๋ณ๊ฒฝ ์์). ์ ํ๋ฆฌ์ผ์ด์
์ฝ๋๋ฅผ ์
๋ฐ์ดํธํ๊ฑฐ๋ ํจ์น๋ฅผ ์ ์ฉํด์ผ ํ๋ ๊ฒฝ์ฐ ์ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ณ ๋ฐฐํฌํ์ธ์. ์ปจํ
์ด๋ ๊ตฌ์ฑ(๋ฆฌ์ค๋ ํฌํธ, ๋ฐํ์ ํ๊ฒฝ ์ต์
๋ฑ)์ ์ธ๋ถ๋ก ์ด๋ํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
Pod์ ๊ตฌ์ฑ์ผ๋ก ํ์ฌ๋ ConfigMap์ ์ฌ์ฉํ์ฌ Kubernetes์์ ๋ฐฐํฌ ๊ตฌ์ฑ์ ์
๋ฐ์ดํธํ๋ ์
3. ๊ถํ ์๋ ์ปจํ ์ด๋๋ฅผ ํผํ์ธ์
์๋ฒ์์ ๋ฃจํธ๋ก ์์ฉ ํ๋ก๊ทธ๋จ์ ์คํํ์ง ์์ต๋๊น? ๊ณต๊ฒฉ์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์นจ์
ํ๋ฉด ๋ฃจํธ ์ก์ธ์ค ๊ถํ์ ์ป๊ฒ ๋ฉ๋๋ค. ๊ถํ ์๋ ์ปจํ
์ด๋๋ฅผ ์คํํ์ง ์๋ ๊ฒฝ์ฐ์๋ ๋์ผํ ๊ณ ๋ ค ์ฌํญ์ด ์ ์ฉ๋ฉ๋๋ค. ํธ์คํธ์ ์ค์ ์ ๋ณ๊ฒฝํด์ผ ํ๋ ๊ฒฝ์ฐ ์ปจํ
์ด๋์ ํน์ ์ ๋ณด๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ๊ธฐ๋ฅ ์ต์
์ ์ฌ์ฉํ์ฌ securityContext
ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒฝ์ฐ ๋ค์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
4. ๋ฃจํธ๋ก ์คํํ์ง ๋ง์ญ์์ค
๊ถํ ์๋ ์ปจํ ์ด๋์ ๋ํด์๋ ์ด๋ฏธ ๋ ผ์ํ์ง๋ง, ์ด ์ธ์๋ ์ปจํ ์ด๋ ๋ด๋ถ์์ ๋ฃจํธ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์คํํ์ง ์๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค. ๊ณต๊ฒฉ์๊ฐ ์ฝ๋ ์คํ์ ํ์ฉํ๋ ๋ฃจํธ ๊ถํ์ด ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์๊ฒฉ ์ทจ์ฝ์ ์ ๋ฐ๊ฒฌํ ํ ์์ง ์๋ ค์ง์ง ์์ ์ทจ์ฝ์ ์ ํตํด ์ปจํ ์ด๋๋ฅผ ๋ ๋ ์ ์๋ ๊ฒฝ์ฐ ํธ์คํธ์์ ๋ฃจํธ๋ฅผ ์ป๊ฒ ๋ฉ๋๋ค.
์ด๋ฅผ ํผํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ์ ์ฒ์๋ถํฐ ๋ฃจํธ๋ก ์๋ฌด๊ฒ๋ ์คํํ์ง ์๋ ๊ฒ์
๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ์ง์๋ฌธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. USER
ะฒ Dockerfile
๋๋ runAsUser
์ฟ ๋ฒ๋คํฐ์ค์์. ํด๋ฌ์คํฐ ๊ด๋ฆฌ์๋ ๋ค์์ ์ฌ์ฉํ์ฌ ์ํ ๋์์ ๊ตฌ์ฑํ ์๋ ์์ต๋๋ค.
5. ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฝ๊ฒ ๋ชจ๋ํฐ๋งํ ์ ์๋๋ก ํ์ธ์.
๋ก๊น
๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ชจ๋ํฐ๋ง์ ์ ํ๋ฆฌ์ผ์ด์
๊ด๋ฆฌ์ ํ์์ ์ธ ๋ถ๋ถ์
๋๋ค. Kubernetes ์ปค๋ฎค๋ํฐ์์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ชจ๋ํฐ๋ง ์๋ฃจ์
์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
Stackdriver์ Kubernetes ๋์๋ณด๋
Prometheus๋ ์ ํ๋ฆฌ์ผ์ด์
์ด ๋ฉํธ๋ฆญ์ HTTP ์๋ํฌ์ธํธ๋ก ์ ๋ฌํ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ์ด์ ์ฌ์ฉ ๊ฐ๋ฅ
6. ์ฑ์ ์ํ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ค์
ํ๋ก๋์
ํ๊ฒฝ์ ์ ํ๋ฆฌ์ผ์ด์
๊ด๋ฆฌ๋ ํด๋น ์ํ๋ฅผ ์ ์ฒด ์์คํ
์ ์ ๋ฌํ๋ ๊ธฐ๋ฅ์ ํตํด ์ง์๋ฉ๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์ด ์คํ ์ค์
๋๊น? ๊ด์ฐฎ๋์? ํธ๋ํฝ์ ์์ ํ ์ค๋น๊ฐ ๋์
จ๋์? ๊ทธ ์ฌ๋์ ์ด๋ป๊ฒ ํ๋ํ๋์? ์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ ์ํ ํ์ธ์ ๊ตฌํํ๋ ๊ฒ์
๋๋ค. (๊ฑด๊ฐ๊ฒ์ง). Kubernetes์๋ ๋ ๊ฐ์ง ์ ํ์ด ์์ต๋๋ค.
ํ์ฑ ํ๋ก๋ธ์ ๊ฒฝ์ฐ (ํ๋ ฅ์ฒดํฌ) ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ํ๊ณ ๊ธฐ๋ณธ ์ข ์์ฑ์ด ์ถฉ์กฑ๋๋ ๊ฒฝ์ฐ "200 OK" ์๋ต์ ๋ฐํํ๋ HTTP ์๋ํฌ์ธํธ๊ฐ ์์ด์ผ ํฉ๋๋ค. ์ค๋น ํ๋ก๋ธ์ฉ (์๋น์ค ์ค๋น ์ํ ํ์ธ) ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์ ์ํ์ด๊ณ , ์ด๊ธฐํ ๋จ๊ณ๊ฐ ์๋ฃ๋์์ผ๋ฉฐ, ์ ํจํ ์์ฒญ์ผ๋ก ์ธํด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ง ์๋ ๊ฒฝ์ฐ, ์ ํ๋ฆฌ์ผ์ด์ ์๋ "200 OK" ์๋ต์ ๋ฐํํ๋ ๋ ๋ค๋ฅธ HTTP ์๋ํฌ์ธํธ๊ฐ ์์ด์ผ ํฉ๋๋ค. Kubernetes๋ ์ด๋ฌํ ๊ฒ์ฌ์ ๋ฐ๋ผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ค๋น๋ ๊ฒฝ์ฐ์๋ง ํธ๋ํฝ์ ์ปจํ ์ด๋๋ก ๋ผ์ฐํ ํฉ๋๋ค. ํ์ฑ ์ํ์ ์ค๋น ์ํ ์ฌ์ด์ ์ฐจ์ด๊ฐ ์์ผ๋ฉด ๋ ์๋ํฌ์ธํธ๋ฅผ ๋ณํฉํ ์ ์์ต๋๋ค.
์ด์ ๋ํ ์์ธํ ๋ด์ฉ์ Google์ Developer Advocate์ธ Sandeep Dinesh์ ๊ด๋ จ ๊ธฐ์ฌ์์ ํ์ธํ ์ ์์ต๋๋ค.
7. ์ด๋ฏธ์ง ๋ฒ์ ์ ์ ์คํ๊ฒ ์ ํํ์ธ์
๋๋ถ๋ถ์ ๊ณต๊ฐ ๋ฐ ๋น๊ณต๊ฐ ์ด๋ฏธ์ง๋ ๋ค์์ ์ค๋ช
๋ ๊ฒ๊ณผ ์ ์ฌํ ํ๊ทธ ์ง์ ์์คํ
์ ์ฌ์ฉํฉ๋๋ค. latest
์ด๋ฏธ์ง์์ ์ด๋ฏธ์ง๋ก ์์ฃผ ์ด๋ํ ์ ์์ต๋๋ค. ์์ธก ๊ฐ๋ฅํ๊ณ ๋ฐ๋ณต ๊ฐ๋ฅํ ๋น๋ ๋ฐ ์ค์น๊ฐ ํ์ํ ๊ฒฝ์ฐ์๋ ์ ๋ขฐํ ์ ์์ต๋๋ค.
ํ๊ทธ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. X.Y.Z
(๊ฑฐ์ ํญ์ ๋ณ๊ฒฝ๋์ง ์์), ์ด ๊ฒฝ์ฐ ์ด๋ฏธ์ง์ ๋ํ ๋ชจ๋ ํจ์น์ ์
๋ฐ์ดํธ๋ฅผ ์ถ์ ํ์ญ์์ค. ์ฌ์ฉ ์ค์ธ ์ด๋ฏธ์ง์ ํ๊ทธ๊ฐ ์๋ ๊ฒฝ์ฐ X.Y
, ์ด๊ฒ์ ํฉ๊ธ๋ฅ ์ ๋ํ ์ข์ ์ ํ์
๋๋ค. ์ด๋ฅผ ์ ํํ๋ฉด ์๋์ผ๋ก ํจ์น๋ฅผ ๋ฐ๊ฒ ๋๋ฉฐ ๋์์ ์์ ์ ์ธ ๋ฒ์ ์ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฌ์ฉํ๊ฒ ๋ฉ๋๋ค.
๋ฒ์ญ๊ฐ์ ์ถ์
๋ธ๋ก๊ทธ์์๋ ์ฝ์ด๋ณด์ธ์.
- ยซ
์ปจํ ์ด๋, ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ๋ฐ Kubernetes์ ๋ํ ์๋ก์ด CNCF ํต๊ณ "; - ยซ
์ปจํ ์ด๋ ๊ธฐ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ค๊ณ๋ฅผ ์ํ 7๊ฐ์ง ์์น "; - ยซ
์ฟ ๋ฒ๋คํฐ์ค ํดํน์ ํผํด์๊ฐ ๋์ง ์๋ 11๊ฐ์ง ๋ฐฉ๋ฒ "; - ยซ
์๊ท๋ชจ ํ๋ก์ ํธ์์์ Kubernetes ๊ฒฝํ ยป (๋ฆฌ๋ทฐ ๋ฐ ์์๋ณด๊ณ ); - ยซ
๋ชจ๋ํฐ๋ง ๋ฐ Kubernetes ยป (๋ฆฌ๋ทฐ ๋ฐ ์์๋ณด๊ณ ); - ยซ
CI/CD์ฉ Docker ์ด๋ฏธ์ง๋ฅผ dapp์ผ๋ก ๋น ๋ฅด๊ณ ํธ๋ฆฌํ๊ฒ ๊ตฌ์ถํฉ๋๋ค. ยป (๋ฆฌ๋ทฐ ๋ฐ ์์๋ณด๊ณ ); - ยซ
Docker๋ฅผ ์ฌ์ฉํ ์ง์์ ์ธ ์ ๋ฌ ๋ฐฉ์ ยป (๋ฆฌ๋ทฐ ๋ฐ ์์๋ณด๊ณ ); - ยซ
2018๋ ๋ง์ดํฌ๋ก์๋น์ค ๊ด๊ธฐ์ ์ข ๋ง ".
์ถ์ฒ : habr.com