01. Kubernetes
01. Kubernetes ๊ด๋ จ
์ฟ ๋ฒ๋คํฐ์ค๋ ๋ค์์ ์ปจํ ์ด๋๋ฅผ ๊ด๋ฆฌํ๊ณ ํ์ฅ, ์๋ํํ๋ ์คํ์์ค ํ๋ซํผ์ ๋๋ค. 2014๋ ๊ตฌ๊ธ์์ ๊ณต๊ฐํ์์ผ๋ฉฐ ํ์ฌ ์ํ๊ณ๊ฐ ๋น ๋ฅด๊ฒ ์ฑ์ฅํ๊ณ ์์ต๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค๋ผ๋ ์ด๋ฆ์ ํค์ก์ด(helmsman) ๋๋ ํ์ผ๋ฟ์ด๋ผ๋ ๋ป์ ๊ทธ๋ฆฌ์ค์ด์์ ์ ๋๋์์ต๋๋ค. ํนํ, k8s
๋ผ๋ ๋ช
์นญ๋ ์์ฃผ ๋ณผ ์ ์๋๋ฐ kubernetes
์์ k
์ s
์ฌ์ด์ 8๊ธ์๊ฐ ์๋ค๊ณ ํด์ ์ด๋ ๊ฒ ํ๊ธฐํ๊ธฐ๋ ํฉ๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค๊ฐ ๋๋ฆฌ ์ฌ์ฉ๋๊ฒ ๋ ์ด์ ๋ Docker ์ปจํ ์ด๋์ ๋ฐ์ ๊ณผ ๊ด๊ณ๊ฐ ๊น์ต๋๋ค. Docker ์ปจํ ์ด๋์ ์ ์์ ์ฅ์ ์ ๋ํด์๋ ๋ค์ ๋ฌธ์๋ค์ ์ฐธ์กฐํ๊ธฐ ๋ฐ๋๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ๊ฐ๋จํ๊ฒ ์ค๋ช ํ๋ฉด ์ปจํ ์ด๋๊ฐ ๋ค์ด๋์์ ๋ ์๋์ผ๋ก ๋ค์ ์์>ํด์ฃผ๊ณ , ํธ๋ํฝ์ด ๋ชฐ๋ฆฌ๋ฉด ์๋์ผ๋ก ํ์ฅ์ ํด์ฃผ๋ ๋๊ตฌ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ค์ํ ์ ๋ฐ์ดํธ, ๋ฐฐํฌ ํจํด์ ์ฌ์ฉํ ์ ์๊ฒ ํด์ค๋๋ค. ์ฆ, ์ปจํ ์ด๋๋ก ๋ถ์ฐ ์์คํ ์ ์คํํ๊ธฐ ์ํ ํ๋ซํผ์ ๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค๋ ๋ณต์กํ๊ณ ๊ธฐ๋ฅ์ด ๋ง์์ ์ง์ ์ฅ๋ฒฝ์ด ๋์ต๋๋ค. ๋ฐ๋ผ์ ์ด ๋ฌธ์์์๋ ๋ณต์กํ ๋ด์ฉ์ ๋์ค์ผ๋ก ๋ฏธ๋ฃจ๊ณ , ์ค์น์ ์คํ๋ถํฐ ํด๋ณด๋ฉด์ ์ฟ ๋ฒ๋คํฐ์ค์ ๋ํ ์ดํด๋ฅผ ๋๊ณ ์ ํฉ๋๋ค.
๋จผ์ ์์ ์ PC(๋ก์ปฌ ๋จธ์ )์ Minikube๋ฅผ ์ค์นํ ๋ค์ ํด๋ฌ์คํฐ๋ฅผ ์์ฑํด๋ณด๊ณ Nginx ์น ์๋ฒ๋ฅผ ์คํํด๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ค์์๋ ๋ณธ๊ฒฉ์ ์ผ๋ก ์ฟ ๋ฒ๋คํฐ์ค YAML ์ค์ ํ์ผ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์ตํ๋ณด๊ฒ ์ต๋๋ค.
์ฟ ๋ฒ๋คํฐ์ค์ ์กฐ๊ธ ์ต์ํด์ก๋ค๋ฉด, Spring Boot์ MySQL์ ์ฟ ๋ฒ๋คํฐ์ค์ ์คํํด๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ Minikube๊ฐ ์๋ kubeadm
๊ณผ kOps
๋ฅผ ํ์ฉํ์ฌ ์ฌ๋ฌ ๋จธ์ ์์ ์ค์ ์ฟ ๋ฒ๋คํฐ์ค ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
YAML
JSON์ ๋ถํธํจ์ ํด๊ฒฐํ๊ธฐ ์ํด ๋ง๋ค์ด์ง ํฌ๋งท์ด๋ฉฐ JSON์ ์ํผ์ ์ ๋๋ค. YAML(YAML Ain't Markup Language)์ ์ฃผ์์ ์ง์ํ๋ฉฐ, ๋ฌธ์์ด์ ๋ฐ์ดํ๋ฅผ ์ฌ์ฉํ์ง ์์๋ ๋ฉ๋๋ค. ์์ผ๋ก ์ฟ ๋ฒ๋คํฐ์ค๋ฅผ ์ฌ์ฉํ๋ฉด์ ๋ชจ๋ ์ค์ ์ YAML๋ก ์์ฑํ๊ฒ ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์, ๋ค์ ๋ฌธ์๋ฅผ ์ฝ์ด๋ณด๊ณ YAML์ ์ต์ํด์ง๊ธฐ ๋ฐ๋๋๋ค.