์ค๋ ์ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ ๋ฐฉ๋ฒ๊ณผ Kubernetes์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ๋๋ก ์๋ํ๊ธฐ ์ํ ์๊ตฌ ์ฌํญ์ ๋ํด ์ด์ผ๊ธฐํ ๊ณํ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฌธ์ ๊ฐ ์๊ธฐ์ง ์๋๋ก ์ฃผ๋ณ์ "์ถฉ๋"์ ๊ณ ์ํ๊ณ ๊ตฌ์ถํ ํ์๊ฐ ์์ผ๋ฉฐ ๋ชจ๋ ๊ฒ์ด Kubernetes ์์ฒด๊ฐ ์๋ํ ๋๋ก ์๋ํฉ๋๋ค.
์ด๋ฒ ๊ฐ์๋ "
์ ์ด๋ฆ์ Pavel Selivanov์ ๋๋ค. ํ์ฌ ์ ๋ Mail.ru Cloud Solutions์ ์ ๋์ ์ธ DevOps ์์ง๋์ด๋ก ํด๋ผ์ฐ๋๋ฅผ ๋ง๋ค๊ณ , Kubernetes ๊ด๋ฆฌ ๋ฑ์ ๋ง๋ค๊ณ ์์ต๋๋ค. ์ด์ ๋ด ์์ ์๋ ๊ฐ๋ฐ ์ง์, ์ด๋ฌํ ํด๋ผ์ฐ๋ ์ถ์, ์ฐ๋ฆฌ๊ฐ ์์ฑํ ์ ํ๋ฆฌ์ผ์ด์ ์ถ์, ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ๋๊ตฌ ์ง์ ๊ฐ๋ฐ์ด ํฌํจ๋ฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ์ ๋ Kubernetes ๋ฒ์ ์ด 1.3, ์๋ง๋ 1.2์ผ ๋ ์์ํ์ต๋๋ค. ์์ง ์ด๊ธฐ ๋จ๊ณ์์ ๋์ฃ . ์ด์ ๋ ์ด์ ์ด๊ธฐ ๋จ๊ณ๊ฐ ์๋๋ฉฐ, Kubernetes๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์ดํ๋ ์์ง๋์ด์ ๋ํ ์์ฅ ์์๊ฐ ํฌ๋ค๋ ๊ฒ์ ๋ถ๋ช ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ธฐ์ ์์๋ ๊ทธ๋ฐ ์ธ์ฌ์ ๋ํ ์์๊ฐ ๋งค์ฐ ๋์ต๋๋ค. ๊ทธ๋์ ์ค์ ๋ก ์ด ๊ฐ์๊ฐ ๋์จ ๊ฒ์ด๋ค.
๋ด๊ฐ ์ด์ผ๊ธฐํ ๊ณํ์ ๋ฐ๋ผ ๋งํ๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ดํธ ์์๋ (TL;DR) โ โ๋๋ฌด ๊ธธ๋ค; ์ฝ์ง ๋ง์ธ์." ์ค๋ ๋ด ํ๋ ์ ํ ์ด์ ์ ๋์๋ ๋ชฉ๋ก์ผ๋ก ๊ตฌ์ฑ๋ ๊ฒ์ ๋๋ค.
์ฌ์ค ๋ ์์ ๋ ๊ทธ๋ฐ ํ๋ ์ ํ ์ด์ ์ด ๋ง๋ค์ด์ง๋ ๊ฒ์ ์ข์ํ์ง ์์ง๋ง, ์ด๊ฒ์ ๋ด๊ฐ ์ด ํ๋ ์ ํ ์ด์ ์ ์ค๋นํ ๋ ์ด ์ ๋ณด๋ฅผ ๋ค๋ฅด๊ฒ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ์ค์ ๋ก ์ดํดํ์ง ๋ชปํ๋ ์ฃผ์ ์ ๋๋ค.
๋์ฒด๋ก ์ด ์ ๋ณด๋ DevOps ์น์ ์ Wiki์์ ๊ฐ์ ธ์จ "ctrl+c, ctrl+v"์ด๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ์๋ฅผ ์ํ ์๊ตฌ ์ฌํญ์ ์์ฑํ์ต๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค, ์ด๋ ๊ฒ ๋ผ์ผ์ง."
๊ทธ๋์ ํ๋ ์ ํ ์ด์ ์ ๋ชฉ๋ก์ด ์ด๋ ๊ฒ๋ ๋ฐฉ๋ํด์ก์ต๋๋ค. ์ฃ์กํฉ๋๋ค. ๊ฐ๋ฅํ๋ค๋ฉด ์ง๋ฃจํ์ง ์๊ฒ ์ต๋ํ ๋ง์ ์ด์ผ๊ธฐ๋ฅผ ํ๋๋ก ๋ ธ๋ ฅํ๊ฒ ์ต๋๋ค.
์ง๊ธ ์ฐ๋ฆฌ๊ฐ ์ดํด๋ณผ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ด๊ฒ์ ์ฒซ์งธ๋ก ๋ก๊ทธ(์ ํ๋ฆฌ์ผ์ด์ ๋ก๊ทธ?), Kubernetes์์ ๋ก๊ทธ๋ก ๋ฌด์์ ํด์ผ ํ๋์ง, ์ด๋ป๊ฒ ํด์ผ ํ๋์ง, ๋ฌด์์ด ๋์ด์ผ ํ๋์ง์ ๋๋ค.
- Kubernetes์ ๊ตฌ์ฑ์ผ๋ก ๋ฌด์์ ํด์ผ ํ๋์ง, Kubernetes์ฉ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ๊ฐ์ฅ ์ข์ ๋ฐฉ๋ฒ๊ณผ ์ต์ ์ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
- ์ผ๋ฐ์ ์ผ๋ก ์ ๊ทผ์ฑ ๊ฒ์ฌ๊ฐ ๋ฌด์์ธ์ง, ์ด๋ค ๋ชจ์ต์ด์ด์ผ ํ๋์ง์ ๋ํด ์ด์ผ๊ธฐํด ๋ณด๊ฒ ์ต๋๋ค.
- ์ฐ์ํ ์ข ๋ฃ๊ฐ ๋ฌด์์ธ์ง ์ด์ผ๊ธฐํด ๋ณด๊ฒ ์ต๋๋ค.
- ์์์ ๋ํด ๋ค์ ์ด์ผ๊ธฐํด ๋ณด๊ฒ ์ต๋๋ค.
- ๋ฐ์ดํฐ ์ ์ฅ ์ฃผ์ ๋ฅผ ๋ค์ ํ ๋ฒ ๋ค๋ฃจ๊ฒ ์ต๋๋ค.
- ๋ง์ง๋ง์๋ ์ด ์ ๋น๋ก์ด ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ผ๋ ์ฉ์ด๊ฐ ๋ฌด์์ธ์ง ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค. ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ์ฑ(์ด ์ฉ์ด์ ํ์ฉ์ฌ)
๋ก๊ทธ
๋ก๊ทธ๋ถํฐ ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๋ฌํ ๋ก๊ทธ๋ฅผ Kubernetes์ ๋ฃ์ด์ผ ํ๋ ์์น๋ถํฐ ์์ํ์ธ์. ์ด์ Kubernetes์์ ์ ํ๋ฆฌ์ผ์ด์
์ ์์ํ์ต๋๋ค. ๊ณ ์ ์ ๋ฐ๋ฅด๋ฉด ์ด์ ์ ํ๋ฆฌ์ผ์ด์
์ ํญ์ ํ์ผ ์ด๋๊ฐ์ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ์ต๋๋ค. ์๋ชป๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ํด๋น ์์ฉ ํ๋ก๊ทธ๋จ์ ์์ํ ๊ฐ๋ฐ์์ ํ ๋๋ ํฐ๋ฆฌ์ ์๋ ํ์ผ์ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ์ต๋๋ค. ์ข์ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ค์ ์์น์ ํ์ผ์ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ์ต๋๋ค. /var/log
.
๋ฐ๋ผ์ ํ๋ฅญํ ๊ด๋ฆฌ์๋ ์ธํ๋ผ์ ์ด๋ฌํ ๋ก๊ทธ๊ฐ ์ํ๋ ์ ์๋ ๋ช ๊ฐ์ง ํญ๋ชฉ์ ๊ตฌ์ฑํ์ต๋๋ค. ๋์ผํ rsyslog๋ ์ด๋ฌํ ๋ก๊ทธ๋ฅผ ์ดํด๋ณด๊ณ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๋ง์ ๋ก๊ทธ๊ฐ ์๊ณ ๋ฐฑ์ ๋ณต์ฌ๋ณธ์ ์์ฑํ๊ณ ๊ฑฐ๊ธฐ์ ๋ก๊ทธ๋ฅผ ์ ์ฅํฉ๋๋ค. , ์ผ์ฃผ์ผ, XNUMX๊ฐ์ ์ด์ ์ค๋๋ ํ์ผ์ ์ญ์ ํฉ๋๋ค. ์ด๋ก ์ ์ผ๋ก๋ ๋จ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ก๊ทธ๋ฅผ ์์ฑํ๋ค๊ณ ํด์ ํ๋ก๋์ ์๋ฒ(์ ํฌ ์๋ฒ?)์ ๊ณต๊ฐ์ด ๋ถ์กฑํด์ง์ง ์๋๋ก ๋๋นํด์ผ ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ก๊ทธ ๋๋ฌธ์ ์ ์ฒด ์์ฐ์ด ์ค๋จ๋์ง ์์์ต๋๋ค.
Kubernetes์ ์ธ๊ณ๋ก ์ด๋ํ์ฌ ๊ทธ๊ณณ์์ ๋์ผํ ์์ ์ ์คํํ ๋ ๊ฐ์ฅ ๋จผ์ ์ฃผ๋ชฉํด์ผ ํ ๊ฒ์ ์ฌ๋๋ค์ด ํ์ผ์ ๋ก๊ทธ๋ฅผ ์์ฑํ ๋๋ก ๊ณ์ํด์ ์์ฑํ๋ค๋ ์ฌ์ค์ ๋๋ค.
Kubernetes์ ๋ํด ์ด์ผ๊ธฐํ๋ฉด Docker ์ปจํ ์ด๋ ์ด๋๊ฐ์ ๋ก๊ทธ๋ฅผ ์์ฑํ๋ ์ฌ๋ฐ๋ฅธ ์ฅ์๋ ๋จ์ํ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์์ Stdout/Stderr, ์ฆ ์ด์ ์ฒด์ ์ ํ์ค ์ถ๋ ฅ ์คํธ๋ฆผ์ผ๋ก ๋ก๊ทธ๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋๋ค. ํ์ค ์ค๋ฅ ์ถ๋ ฅ. ์ด๋ ์์น์ ์ผ๋ก Docker, ํนํ Kubernetis์ ๋ก๊ทธ๋ฅผ ๋ฃ๋ ๊ฐ์ฅ ์ ํํ๊ณ ๊ฐ๋จํ๋ฉฐ ๊ฐ์ฅ ๋ ผ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด Stdout/Stderr์ ๋ก๊ทธ๋ฅผ ๊ธฐ๋กํ๋ ๊ฒฝ์ฐ ์ด๋ฌํ ๋ก๊ทธ๋ก ๋ฌด์์ ํ ์ง ๊ฒฐ์ ํ๋ ๊ฒ์ Docker์ Kubernetes ์ถ๊ฐ ๊ธฐ๋ฅ์ ๋ฌ๋ ค ์๊ธฐ ๋๋ฌธ์ ๋๋ค. Docker๋ ๊ธฐ๋ณธ์ ์ผ๋ก JSON ํ์์ผ๋ก ํน์ ํ์ผ์ ๋น๋ํฉ๋๋ค.
์ฌ๊ธฐ์ ์ง๋ฌธ์ด ์๊น๋๋ค. ๋ค์์ ์ด ๋ก๊ทธ๋ก ๋ฌด์์ ํ์๊ฒ ์ต๋๊น? ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ๋ถ๋ช
ํฉ๋๋ค. ์ฐ๋ฆฌ๋ ํ ์ ์๋ ๋ฅ๋ ฅ์ด ์์ต๋๋ค. kubectl logs
์ด๋ฌํ "ํฌ๋"์ ๋ก๊ทธ๋ฅผ ์ดํด๋ณด์ธ์. ๊ทธ๋ฌ๋ ์๋ง๋ ์ด๊ฒ์ ๊ทธ๋ค์ง ์ข์ ์ต์
์ ์๋๋๋ค. ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์์
์ ์ํํด์ผ ํฉ๋๋ค.
์ง๊ธ์ ๋ก๊ทธ๋ผ๋ ์ฃผ์ ๋ฅผ ๋ค๋ฃจ์์ผ๋ฏ๋ก ๋์์ ๋ก๊ทธ๊ฐ ์ด๋ค ๋ชจ์ต์ด์ด์ผ ํ๋์ง์ ๋ํด ์ด์ผ๊ธฐํด ๋ณด๊ฒ ์ต๋๋ค. ์ฆ, ์ฟ ๋ฒ๋คํฐ์ค์ ์ง์ ์ ์ผ๋ก ์ ์ฉ๋๋ ๊ฒ์ ์๋์ง๋ง, ๋ก๊ทธ๋ฅผ ์ด๋ป๊ฒ ํ ์ง ๊ณ ๋ฏผ์ ์์ํ ๋ ์ด๊ฒ ์ญ์ ์๊ฐํด ๋ณด๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์ฐ๋ฆฌ๋ ๋์ปค๊ฐ ํ์ผ์ ๋ฃ์ ๋ก๊ทธ๋ฅผ ๊ฐ์ ธ์ ์ด๋๊ฐ๋ก ๋ณด๋ผ ์ ์๋ ์ฐํธ์ ์ธ ๋ฐฉ์์ ๋๊ตฌ๊ฐ ํ์ํฉ๋๋ค. ์ ๋ฐ์ ์ผ๋ก ์ฐ๋ฆฌ๋ ์ผ๋ฐ์ ์ผ๋ก Docker๊ฐ ์์งํ๋ ๋ก๊ทธ์ ์์น๋ฅผ โโ์๋ ค์ฃผ๋ ๋ก๊ทธ ์์ง๊ธฐ์ธ DaemonSet์ ํํ๋ก Kubernetes ๋ด์์ ์ผ์ข ์ ์์ด์ ํธ๋ฅผ ์์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์์ง ์์ด์ ํธ๋ ๋จ์ํ ๊ทธ๊ฒ๋ค์ ๊ฐ์ ธ์ค๊ณ , ์๋ง๋ ์ด๋ป๊ฒ๋ ๊ธธ์ ๋ฐ๋ผ ๊ทธ๊ฒ๋ค์ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ , ์๋ง๋ ์ถ๊ฐ์ ์ธ ๋ฉํ ์ ๋ณด๋ก ๊ทธ๊ฒ๋ค์ ํ๋ถํ๊ฒ ํ๊ณ ๊ถ๊ทน์ ์ผ๋ก ์ ์ฅ์ ์ํด ์ด๋๊ฐ์ ๋ณด๋ผ ๊ฒ์ ๋๋ค. ์ด๋ฏธ ๋ณํ์ด ๊ฐ๋ฅํฉ๋๋ค. ๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๊ฒ์ ๋ก๊ทธ๋ฅผ ์ ์ฅํ๊ณ ๊ฑฐ๊ธฐ์์ ํธ๋ฆฌํ๊ฒ ๊ฒ์ํ ์ ์๋ Elasticsearch์ผ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์์ฒญ์ ์ฌ์ฉํ์ฌ Kibana ๋ฑ์ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ทธ๋ํ๋ฅผ ์์ฑํ๊ณ ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฝ๊ณ ๋ฅผ ์์ฑํ๋ ๋ฑ์ ์์ ์ ์ํํฉ๋๋ค.
๋ค์ ๋ฐ๋ณตํ๊ณ ์ถ์ ๊ฐ์ฅ ์ค์ํ ์์ด๋์ด๋ Docker ๋ด๋ถ, ํนํ Kubernetes ๋ด๋ถ์์ ๋ก๊ทธ๋ฅผ ํ์ผ์ ์ ์ฅํ๋ ๊ฒ์ ๋งค์ฐ ๋์ ์๊ฐ์ด๋ผ๋ ๊ฒ์ ๋๋ค.
์ฒซ์งธ, ์ปจํ ์ด๋ ๋ด๋ถ์ ๋ก๊ทธ๋ฅผ ํ์ผ๋ก ๊ฐ์ ธ์ค๋ ๊ฒ์ด ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋จผ์ ์ปจํ ์ด๋๋ก ์ด๋ํ์ฌ ๊ทธ๊ณณ์์ ์คํํ ๋ค์ ๋ก๊ทธ๋ฅผ ์ดํด๋ด์ผ ํฉ๋๋ค. ๋ค์ ์์ ์ ํ์ผ์ ๋ก๊ทธ๊ฐ ์๋ ๊ฒฝ์ฐ ์ปจํ ์ด๋๋ ์ผ๋ฐ์ ์ผ๋ก ์ต์ํ์ ํ๊ฒฝ์ ๊ฐ์ง๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ๋ก๊ทธ ์์ ์ ํ์ํ ์ ํธ๋ฆฌํฐ๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋ฌป์ด๋๊ณ , ์ดํด๋ณด๊ณ , ํ ์คํธ ํธ์ง๊ธฐ์์ ์ด์ด๋ณด์ธ์. ๋ค์ ์๊ฐ์ ์ปจํ ์ด๋ ๋ด๋ถ์ ํ์ผ์ ๋ก๊ทธ๊ฐ ์์ ๋์ ๋๋ค. ์ด ์ปจํ ์ด๋๊ฐ ์ญ์ ๋๋ฉด ๋ก๊ทธ๋ ํจ๊ป ์ญ์ ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ปจํ ์ด๋๋ฅผ ๋ค์ ์์ํ๋ฉด ๋ ์ด์ ๋ก๊ทธ๊ฐ ์๋ค๋ ์๋ฏธ์ ๋๋ค. ๋ค์ ๋งํ์ง๋ง, ๋์ ์ ํ์ ๋๋ค.
๋ง์ง๋ง ์์ ์ ์ปจํ ์ด๋ ๋ด๋ถ์ ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๊ณ ๊ทธ๊ฒ ์ ๋ถ๋ผ๋ ๊ฒ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋๋ ์ ์ผํ ํ๋ก์ธ์ค์ ๋๋ค. ๋ก๊ทธ์ ํจ๊ป ํ์ผ์ ํ์ ์ํค๋ ํ๋ก์ธ์ค์ ๋ํด์๋ ์ ํ ์ด์ผ๊ธฐ๊ฐ ์์ต๋๋ค. ๋ก๊ทธ๊ฐ ํ์ผ์ ๊ธฐ๋ก๋๊ธฐ ์์ํ์๋ง์ ์ด๋ ์ฃ์กํ์ง๋ง ํ๋ก๋์ ์๋ฒ๋ฅผ ์๊ธฐ ์์ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ฒซ์งธ, ์ฐพ๊ธฐ๊ฐ ์ด๋ ต๊ณ , ์ถ์ ํ๋ ์ฌ๋๋ ์๊ณ , ์ ์ดํ๋ โโ์ฌ๋๋ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ์๋ฒ ๊ณต๊ฐ์ด ๋ค ๋จ์ด์ง ๋๊น์ง ํ์ผ์ ๋์์ด ์ปค์ง๋๋ค. ๋ฐ๋ผ์ Docker, ํนํ Kubernetes์์ ํ์ผ์ ๋ก๊ทธ์ธํ๋ ๊ฒ์ ์ข์ง ์์ ์๊ฐ์ด๋ผ๋ ์ ์ ๋ค์ ํ ๋ฒ ๋ง์๋๋ฆฝ๋๋ค.
๋ค์ ์์ ์ ์ด๊ฒ์ ๋ํด ๋ค์ ์ด์ผ๊ธฐํ๊ณ ์ถ์ต๋๋ค. ๋ก๊ทธ ์ฃผ์ ๋ฅผ ๋ค๋ฃจ๊ณ ์๊ธฐ ๋๋ฌธ์ ๋ก๊ทธ ์์ ์ ํธ๋ฆฌํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ๋ก๊ทธ๊ฐ ์ด๋ป๊ฒ ๋ณด์ด๋์ง์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ ๋๋ค. ์์ ๋งํ๋ฏ์ด ์ฃผ์ ๋ Kubernetes์ ์ง์ ์ ์ธ ๊ด๋ จ์ด ์์ง๋ง DevOps๋ผ๋ ์ฃผ์ ์ ๋งค์ฐ ์ ๊ด๋ จ๋์ด ์์ต๋๋ค. Dev์ Ops๋ผ๋ ์๋ก ๋ค๋ฅธ ๋ ๋ถ์ ๊ฐ์ ๊ฐ๋ฐ ๋ฌธํ์ ์ฐ์ ์ ์ฃผ์ ๋ก ๋ชจ๋ ์ฌ๋์ด ํธ์ํ๊ฒ ์ง๋ผ ์ ์๋๋ก ํฉ๋๋ค.
์ด๋ ์ด์์ ์ผ๋ก๋ ์ค๋๋ ๋ก๊ทธ๊ฐ JSON ํ์์ผ๋ก ์์ฑ๋์ด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. ์ผ์ข ์ ์ธ์๋ฌผ ๋ฑ์ ์ฝ์ ํ์ฌ ์ดํดํ ์ ์๋ ํ์์ผ๋ก ๋ก๊ทธ๋ฅผ ์์ฑํ๋ ์ดํดํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ ๊ฒฝ์ฐ, ์ด์ ์ผ๋ฐ์ ์ธ ๋ก๊น ์ ๊ตฌํํ ์ ์๋ ์ผ์ข ์ ํ๋ ์์ํฌ, ๋ํผ๋ฅผ Google์ ๊ฒ์ํ ๋์ ๋๋ค. JSON์ ๊ฐ๋จํ ํ์์ด๋ฏ๋ก ๊ตฌ๋ฌธ ๋ถ์์ด ๊ฐ๋จํ๋ฏ๋ก JSON์์ ๋ก๊น ๋งค๊ฐ๋ณ์๋ฅผ ํ์ฑํํฉ๋๋ค.
JSON์ด ์ผ๋ถ ๊ธฐ์ค์ ๋ฐ๋ผ ์๋ํ์ง ์๋ ๊ฒฝ์ฐ, ์๋ฌด๋ ๊ทธ ์ฌ์ค์ ์์ง ๋ชปํ๋ฏ๋ก ์ต์ํ ๊ตฌ๋ฌธ ๋ถ์ํ ์ ์๋ ํ์์ผ๋ก ๋ก๊ทธ๋ฅผ ์์ฑํ์ญ์์ค. ์คํ๋ ค ์ฌ๊ธฐ์๋ ์๋ฅผ ๋ค์ด ์ฌ๋ฌ ์ปจํ ์ด๋๋ฅผ ์คํํ๊ฑฐ๋ nginx๋ฅผ ์ฌ์ฉํ์ฌ ํ๋ก์ธ์ค๋ฅผ ์คํํ๊ณ ๊ฐ๊ฐ ๊ณ ์ ํ ๋ก๊น ์ค์ ์ด ์๋ ๊ฒฝ์ฐ ๋ค์์ ์ํํ๋ ๊ฒ์ด ๋งค์ฐ ๋ถํธํ ๊ฒ ๊ฐ๋ค๋ ์ฌ์ค์ ์๊ฐํด ๋ณผ ๊ฐ์น๊ฐ ์์ต๋๋ค. ๊ทธ๊ฒ๋ค์ ๊ตฌ๋ฌธ ๋ถ์ํ์ญ์์ค. ์๋ก์ด nginx ์ธ์คํด์ค๋ง๋ค ๋ก๊ทธ๋ฅผ ๋ค๋ฅด๊ฒ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์์ฒด ํ์๋ฅผ ์์ฑํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ค์ ๋งํ์ง๋ง, ์ด๋ฌํ ๋ชจ๋ nginx ์ธ์คํด์ค๊ฐ ๋์ผํ ๋ก๊น ๊ตฌ์ฑ์ ๊ฐ์ง๋ฉฐ ๋ชจ๋ ๋ก๊ทธ๊ฐ ์์ ํ ๊ท ์ผํ๊ฒ ์์ฑ๋์๋์ง ํ์ธํ๋ ๊ฒ์ด ์๋ง๋ ๊ฐ์น๊ฐ ์์ ๊ฒ์ ๋๋ค. ๋ชจ๋ ์์ฉ ํ๋ก๊ทธ๋จ์๋ ๋์ผํ๊ฒ ์ ์ฉ๋ฉ๋๋ค.
๊ฒฐ๊ตญ ๋๋ ์ด์์ ์ผ๋ก๋ ์ฌ๋ฌ ์ค ํ์์ ๋ก๊ทธ๋ฅผ ํผํด์ผ ํ๋ค๋ ๋ถ์ ์ฐ๋ฃ๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์ต๋๋ค. ๋ก๊ทธ ์์ง๊ธฐ๋ก ์์ ํด ๋ณธ ์ ์ด ์๋ค๋ฉด ๊ทธ๋ค์ด ์ฝ์ํ๋ ๊ฒ, ์ฌ๋ฌ ์ค์ ๋ก๊ทธ๋ก ์์ ํ ์ ์๋ค๋ ๊ฒ, ์์ง ๋ฐฉ๋ฒ ๋ฑ์ ์์์ ๊ฒ์ ๋๋ค. ์ฌ์ค, ์ ์๊ฐ์๋ ์ค๋๋ ๋จ ํ ๋ช ์ ์์ง๊ฐ๋ ์ฌ๋ฌ ์ค์ ๋ก๊ทธ๋ฅผ ์ค๋ฅ ์์ด ์ ์์ ์ผ๋ก ์์ ํ๊ฒ ์์งํ ์ ์์ต๋๋ค. ์ธ๊ฐ์ ์ธ ๋ฐฉ์์ผ๋ก ํธ๋ฆฌํ๊ณ ์ค๋ฅ๊ฐ ์๋๋ก ํฉ๋๋ค.
๊ทธ๋ฌ๋ ์คํ ์ถ์ ์ ํญ์ ์ฌ๋ฌ ์ค์ ๋ก๊ทธ์ด๋ฉฐ ์ด๋ฅผ ๋ฐฉ์งํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฌ๊ธฐ์ ๋ฌธ์ ๋ ๋ก๊ทธ๋ ์ด๋ฒคํธ ๊ธฐ๋ก์ด๊ณ stactrace๋ ์ค์ ๋ก ๋ก๊ทธ๊ฐ ์๋๋ผ๋ ๊ฒ์ ๋๋ค. ๋ก๊ทธ๋ฅผ ์์งํ์ฌ Elasticsearch ์ด๋๊ฐ์ ์ ์ฅํ ๋ค์ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฌ๊ณ ์ฌ์ดํธ์ ์ฌ์ฉ์ ํ๋์ ๋ํ ์ผ๋ถ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ๋ค์ ์คํ ์ถ์ ์ ๋ฐ์ผ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฒ๋ฆฌ๋์ง ์์ ์ํฉ์ธ ์์์น ๋ชปํ ์ํฉ์ด ๋ฐ์ํ์์ ์๋ฏธํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ ์ถ์ ํ ์ ์๋ ์์คํ ์ด๋๊ฐ์ ์คํ ์ถ์ ์ ์๋์ผ๋ก ์ ๋ก๋ํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ ๋๋ค.
์ด๊ฒ์ ์คํ ์ถ์ ์์ ์ ์ํด ํน๋ณํ ์ ์๋ ์ํํธ์จ์ด(๋์ผํ Sentry)์ ๋๋ค. ์ฆ์ ์๋ํ๋ ์์ ์ ์์ฑํ๊ณ , ์ด๋ฅผ ๋ค๋ฅธ ์ฌ๋์๊ฒ ํ ๋นํ๊ณ , stacttrace๊ฐ ๋ฐ์ํ ๋ ๊ฒฝ๊ณ ํ๊ณ , ์ด๋ฌํ stacttrace๋ฅผ ํ ๊ฐ์ง ์ ํ์ผ๋ก ๊ทธ๋ฃนํํ๋ ๋ฑ์ ์์ ์ ์ํํ ์ ์์ต๋๋ค. ์์น์ ์ผ๋ก ๋ก๊ทธ์ ๋ํด ์ด์ผ๊ธฐํ ๋ ์คํํธ๋ ์ด์ค์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒ์ ๋ณ ์๋ฏธ๊ฐ ์์ต๋๋ค. ์๋ํ๋ฉด ๊ฒฐ๊ตญ ๋ก๊ทธ๋ ๋ชฉ์ ์ด ๋ค๋ฅด๊ณ ๋ค๋ฅธ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ตฌ์ฑ
๋ค์์ผ๋ก Kubernetes์ ๊ตฌ์ฑ, ์ฆ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์์ ๊ณผ Kubernetes ๋ด๋ถ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ด์ผ๊ธฐํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ ๋ Docker๊ฐ ์ปจํ ์ด๋์ ๊ดํ ๊ฒ์ด ์๋๋ผ๊ณ ๋งํฉ๋๋ค. Docker๋ฅผ ๋ง์ด ์ฌ์ฉํ์ง ์์ ์ฌ๋์ด๋ผ๋ Docker๊ฐ ์ปจํ ์ด๋์ ๊ดํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ๋๊ตฌ๋ ์๊ณ ์์ต๋๋ค. ๋ฐ๋ณตํฉ๋๋ค. Docker๋ ์ปจํ ์ด๋์ ๊ดํ ๊ฒ์ด ์๋๋๋ค.
๋ด ์๊ฐ์ Docker๋ ํ์ค์ ๊ดํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ ๋ก ๋ชจ๋ ๊ฒ์ ๋ํ ํ์ค์ด ์์ต๋๋ค. ์ฆ, ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ ํ์ค, ์ ํ๋ฆฌ์ผ์ด์ ์ค์น ํ์ค์ด ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ด์ ์ ์ฌ์ฉํ์ง๋ง ์ปจํ ์ด๋์ ์ถํ์ผ๋ก ํนํ ์ธ๊ธฐ๋ฅผ ์ป์์ต๋๋ค. ์ด๊ฒ์ ENV(ํ๊ฒฝ) ๋ณ์, ์ฆ ์ด์ ์ฒด์ ์ ์๋ ํ๊ฒฝ ๋ณ์๋ผ๊ณ ํฉ๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ์ด์์ ์ธ ๋ฐฉ๋ฒ์ ๋๋ค. ์๋ํ๋ฉด JAVA, Python, Go, Perl, God forbid๋ก ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ์คํธ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น๋ฐ๋ฒํธ ๋ณ์๋ฅผ ๋ชจ๋ ์ฝ์ ์ ์๋ค๋ฉด ์ด์์ ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋์ผํ ๋ฐฉ์์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ณํ์ ๊ตฌ์ฑ๋ XNUMX๊ฐ์ง ์ธ์ด์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ต๋๋ค. ๋ ์ด์ ๋ค๋ฅธ ๊ตฌ์ฑ์ด ์์ต๋๋ค.
ENV ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ ๊ฒ์ ๊ตฌ์ฑํ ์ ์์ต๋๋ค. Kubernetes์ ๊ดํด ์ด์ผ๊ธฐํ ๋ ๋ฐฐํฌ ๋ด์์ ๋ฐ๋ก ENV ๋ณ์๋ฅผ ์ ์ธํ ์ ์๋ ์ข์ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค. ๋ฐ๋ผ์ ๋น๋ฐ ๋ฐ์ดํฐ์ ๊ดํด ์ด์ผ๊ธฐํ๋ ๊ฒฝ์ฐ ENV ๋ณ์(๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋น๋ฐ๋ฒํธ ๋ฑ)์ ๋น๋ฐ ๋ฐ์ดํฐ๋ฅผ ์ฆ์ ๋น๋ฐ๋ก ํธ์ํ๊ณ , ๋น๋ฐ ํด๋ฌ์คํฐ๋ฅผ ์์ฑํ๊ณ , ๋ฐฐํฌ์ ENV ์ค๋ช ์ ์ง์ ์ ์ธํ์ง ์์์ ํ์ํ ์ ์์ต๋๋ค. ์ด ๋ณ์์ ๊ฐ๊ณผ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋น๋ฐ๋ฒํธ ๋ณ์์ ๊ฐ์ ๋น๋ฐ์์ ์ฝํ์ง๋๋ค. ์ด๋ ํ์ค Kubernetes ๋์์ ๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑํ๋ ๋ฐ ๊ฐ์ฅ ์ด์์ ์ธ ์ต์ ์ ๋๋ค. ์ฝ๋ ์์ค์์๋ ์ด๋ ๊ฐ๋ฐ์์๊ฒ ์ ์ฉ๋ฉ๋๋ค. DevOps๋ผ๋ฉด ๋ค์๊ณผ ๊ฐ์ด ์ง๋ฌธํ ์ ์์ต๋๋ค. โ์ฌ๋ฌ๋ถ, ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ฝ๋๋ก ๊ฐ๋ฅด์ณ ์ฃผ์ธ์. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ ๋ชจ๋๋ ํ๋ณตํด์ง ๊ฒ์ ๋๋ค.โ
ํ์ฌ์ ๋ชจ๋ ์ฌ๋์ด ๋์ผํ ์ด๋ฆ์ ํ๊ฒฝ ๋ณ์๋ฅผ ์ฝ๋๋ค๋ฉด ์ข์ต๋๋ค. ์ผ๋ถ๋ postgres ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ , ๋ค๋ฅธ ์ผ๋ถ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ์ ๊ธฐ๋ค๋ฆฌ๊ณ , ๋ค๋ฅธ ์ผ๋ถ๋ ๋ค๋ฅธ ๊ฒ์ ๊ธฐ๋ค๋ฆฌ๊ณ , ๋ค๋ฅธ ์ผ๋ถ๋ ์ผ์ข ์ DBN์ ๊ธฐ๋ค๋ฆฌ๋ ์ผ์ด ๋ฐ์ํ์ง ์๋๋ก ํ์ฌ ๊ทธ์ ๋ฐ๋ผ ๊ท ์ผ์ฑ์ด ์์ต๋๋ค.
๋ฐฐํฌ๋ฅผ ์ด์์ ์ ๋๋ก ํ๊ฒฝ ๋ณ์๊ฐ ๋๋ฌด ๋ง๊ณ ํ๊ฒฝ ๋ณ์ ์ค์ด XNUMX์ค์ ๋ฌํ ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ํ๊ฒฝ ๋ณ์๊ฐ ๋๋ฌด ์ปค์ ธ์ ๋ ์ด์ ์ค์ค๋ก๋ฅผ ๊ณ ๋ฌธํ ํ์๊ฐ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ๊ตฌ์ฑ ์ฌ์ฉ์ ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ฆ, ๊ตฌ์ฑ์ ์ฌ์ฉํ๋๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ต์กํฉ๋๋ค.
์ ์ผํ ์ง๋ฌธ์ ๊ตฌ์ฑ์ด ๋น์ ์ด ์๊ฐํ๋ ๊ฒ๊ณผ ๋ค๋ฅด๋ค๋ ๊ฒ์ ๋๋ค. Config.pi๋ ์ฌ์ฉํ๊ธฐ ํธ๋ฆฌํ ๊ตฌ์ฑ์ด ์๋๋๋ค. ๋๋ ์์ ๋ง์ ํ์์ผ๋ก ๊ตฌ์ฑํ๊ฑฐ๋ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ฌ๋ฅ์ ๋ถ์ฌํ ์๋ ์์ต๋๋ค. ์ด๊ฒ์ ๋ํ ์ ๊ฐ ์๋ฏธํ๋ ๊ตฌ์ฑ์ด ์๋๋๋ค.
๋ด๊ฐ ๋งํ๋ ๊ฒ์ ํ์ฉ ๊ฐ๋ฅํ ํ์์ ๊ตฌ์ฑ์ ๋๋ค. ์ฆ, ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ์ค์ .yaml ํ์ค์ ๋๋ค. ์ฝ๋ ๋ฐฉ๋ฒ์ด ๋ช ํํ๊ณ , ์ฌ๋์ด ์ฝ์ ์ ์์ผ๋ฉฐ, ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฝ๋ ๋ฐฉ๋ฒ๋ ๋ช ํํฉ๋๋ค.
๋ฐ๋ผ์ YAML ์ธ์๋ JSON ๋ฑ์ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ๊ตฌ๋ฌธ ๋ถ์์ ๊ฑฐ๊ธฐ์์ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ์ ์ฝ๋ ์ธก๋ฉด์์ YAML๋งํผ ํธ๋ฆฌํฉ๋๋ค. ์ฌ๋๋ค์ด ์ฝ๋ ๊ฒ์ด ๋์ ๋๊ฒ ๋ ๋ถํธํฉ๋๋ค. a la ini ํ์์ ์ฌ์ฉํด ๋ณผ ์ ์์ต๋๋ค. ์ธ๊ฐ์ ๊ด์ ์์๋ ์ฝ๊ธฐ๊ฐ ๋งค์ฐ ํธ๋ฆฌํ์ง๋ง ์๋์ผ๋ก ์ฒ๋ฆฌํ๋ ๊ฒ์ ๋ถํธํ ์ ์์ต๋๋ค. ์ฆ, ์์ ๋ง์ ๊ตฌ์ฑ์ ์์ฑํ๋ ค๋ ๊ฒฝ์ฐ ini ํ์์ด ์ด๋ฏธ ์์ฑํ๊ธฐ ๋ถํธํ ์ ์๋ค๋ ์ ์ ๋๋ค.
๊ทธ๋ฌ๋ ์ด์จ๋ ์ด๋ค ํ์์ ์ ํํ๋ ์์ ์ Kubernetes์ ๊ด์ ์์ ๋ณผ ๋ ๋งค์ฐ ํธ๋ฆฌํ๋ค๋ ๊ฒ์ ๋๋ค. ์ ์ฒด ๊ตฌ์ฑ์ Kubernetes ๋ด๋ถ์ ConfigMap์ ๋ฃ์ ์ ์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด ๊ตฌ์ฑ ๋งต์ ๊ฐ์ ธ์ ํฌ๋ ๋ด๋ถ์ ํน์ ๋๋ ํฐ๋ฆฌ์ ๋ง์ดํธํ๋๋ก ์์ฒญํ์ธ์. ๊ทธ๋ฌ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด ๊ตฌ์ฑ ๋งต์์ ๋ง์น ํ์ผ์ธ ๊ฒ์ฒ๋ผ ๊ตฌ์ฑ์ ์ฝ์ต๋๋ค. ์ค์ ๋ก ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ฑ ์ต์ ์ด ๋ง์ ๋ ์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์๋๋ฉด ์ผ์ข ์ ๋ณต์กํ ๊ตฌ์กฐ์ผ ๋ฟ์ด๊ณ ์ค์ฒฉ์ด ์์ต๋๋ค.
configmap์ด ์๋ ๊ฒฝ์ฐ ์๋ฅผ ๋ค์ด configmap์ด ๋ง์ดํธ๋ ํ์ผ์ ๋ณ๊ฒฝ ์ฌํญ์ ์๋์ผ๋ก ์ถ์ ํ๊ณ ๊ตฌ์ฑ์ด ๋ณ๊ฒฝ๋๋ฉด ์๋์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ ๋ก๋ํ๋๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ต์กํ ์ ์์ต๋๋ค. ์ด๋ ์ผ๋ฐ์ ์ผ๋ก ์ด์์ ์ธ ์ต์ ์ ๋๋ค.
๋ค์ ํ๋ฒ ๋งํ์ง๋ง, ๋๋ ์ด๊ฒ์ ๋ํด ์ด๋ฏธ ์ด์ผ๊ธฐํ์ต๋๋ค. ๋น๋ฐ ์ ๋ณด๋ configmap์ ์๊ณ , ๋น๋ฐ ์ ๋ณด๋ ๋ณ์์ ์๊ณ , ๋น๋ฐ ์ ๋ณด๋ ๋น๋ฐ์ ์์ต๋๋ค. ๊ฑฐ๊ธฐ์์ ์ด ๋น๋ฐ ์ ๋ณด๋ฅผ ์ธ๊ต์ ์ฐ๊ฒฐํ์ธ์. ์ผ๋ฐ์ ์ผ๋ก ์ฐ๋ฆฌ๋ Kubernetes ๊ฐ์ฒด, ๋ฐฐํฌ, ๊ตฌ์ฑ ๋งต, ์๋น์ค์ ๋ํ ๋ชจ๋ ์ค๋ช ์ git์ ์ ์ฅํฉ๋๋ค. ๋ฐ๋ผ์ ํ์ฌ ๋ด๋ถ์ ๋ณด์ ํ๊ณ ์๋ git์ด๋ผ ํ๋๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋น๋ฐ๋ฒํธ๋ฅผ git์ ์ ๋ ฅํ๋ ๊ฒ์ ์ข์ง ์์ ์๊ฐ์ ๋๋ค. ์ต์ํ git์ ๋ชจ๋ ๊ฒ์ ๊ธฐ์ตํ๊ณ ๋จ์ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ด ๊ทธ๋ ๊ฒ ์ฝ์ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ฑด๊ฐ ์ฒดํฌ
๋ค์ ํฌ์ธํธ๋ Health check๋ผ๋ ๊ฒ์
๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ํ ํ์ธ์ ๋จ์ํ ์ ํ๋ฆฌ์ผ์ด์
์ด ์๋ํ๋์ง ํ์ธํ๋ ๊ฒ์
๋๋ค. ๋์์, ์ฐ๋ฆฌ๋ ํน์ ์น ์ ํ๋ฆฌ์ผ์ด์
์ ๋ํด ๊ฐ์ฅ ์์ฃผ ์ด์ผ๊ธฐํ๊ณ ์์ผ๋ฉฐ, ์ด์ ๋ฐ๋ผ ์ํ ํ์ธ์ ๊ด์ ์์(์ฌ๊ธฐ์ ๋ ์ด์ ๋ฒ์ญํ์ง ์๋ ๊ฒ์ด ๋ ์ข์) ์ด๊ฒ์ ๋ค์๊ณผ ๊ฐ์ด ์ฒ๋ฆฌ๋๋ ํน์ URL์ด ๋ ๊ฒ์
๋๋ค. ํ์ค์ ๋ฐ๋ฅด๋ฉด ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๋ ์ต๋๋ค. /health
.
๋ฐ๋ผ์ ์ด URL์ ์ก์ธ์คํ ๋ ์ฐ๋ฆฌ ์ ํ๋ฆฌ์ผ์ด์
์ "์, ์๊ฒ ์ต๋๋ค. ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ต๋๋ค. 200" ๋๋ "์๋์, ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ง ์์ต๋๋ค. ์ฝ 500"์ด๋ผ๊ณ ๋งํฉ๋๋ค. ๋ฐ๋ผ์ ์ฐ๋ฆฌ ์ ํ๋ฆฌ์ผ์ด์
์ด ์น ์ ํ๋ฆฌ์ผ์ด์
์ด ์๋ http๊ฐ ์๋ ๊ฒฝ์ฐ ์ด์ ์ผ์ข
์ ๋ฐ๋ชฌ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ผ๋ฉฐ ์ํ ํ์ธ ๋ฐฉ๋ฒ์ ์์๋ผ ์ ์์ต๋๋ค. ์ฆ, ์ ํ๋ฆฌ์ผ์ด์
์ด http๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ์ํ ํ์ธ ์์ด ๋ชจ๋ ๊ฒ์ด ์๋ํ๋ฉฐ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ์ด๋ฅผ ์ํํ ์ ์์ต๋๋ค. ํ์ผ์ ์ผ๋ถ ์ ๋ณด๋ฅผ ์ฃผ๊ธฐ์ ์ผ๋ก ์
๋ฐ์ดํธํ ์ ์์ผ๋ฉฐ, ๋ค์๊ณผ ๊ฐ์ด ๋ฐ๋ชฌ์ ๋ํ ํน๋ณํ ๋ช
๋ น์ ๋ด๋ฆด ์ ์์ต๋๋ค. daemon status
, ์ด๋ "์, ๋ชจ๋ ๊ฒ์ด ์ ์์
๋๋ค. ๋ฐ๋ชฌ์ด ์๋ํ๊ณ ์์ผ๋ฉฐ ์ด์ ์์ต๋๋ค."๋ผ๊ณ ๋งํฉ๋๋ค.
๊ทธ๊ฒ์ ๋ฌด์์ ์ํ ๊ฒ์ ๋๊น? ๊ฐ์ฅ ๋จผ์ ์ด์ ๊ฐ์ฅ ๋ถ๋ช ํ ๊ฒ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ํ๋์ง ์ดํดํ๊ธฐ ์ํด ์ํ ์ ๊ฒ์ด ํ์ํ ์ด์ ์ผ ๊ฒ์ ๋๋ค. ๋ด ๋ง์, ๊ทธ๊ฒ์ ๋จ์ง ์ด๋ฆฌ์์ ์ผ์ด์ง๋ง, ์ง๊ธ ์ผ์ด๋๋ฉด ์๋ํ๋ ๊ฒ์ฒ๋ผ ๋ณด์ด๋ฏ๋ก ์๋ํ๊ณ ์๋ค๊ณ ํ์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํ๋๊ณ , ์ปจํ ์ด๋๊ฐ ์คํ๋๊ณ , ์ธ์คํด์ค๊ฐ ์๋ํ๊ณ , ๋ชจ๋ ๊ฒ์ด ์ ์์ด๋ผ๋ ๊ฒ์ด ๋ฐํ์ก์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์๋ ์ด๋ฏธ ๊ธฐ์ ์ง์์ ๋ชจ๋ ์ ํ ๋ฒํธ๋ฅผ ์ฐจ๋จํ๊ณ "๋น์ ์ ๋ฌด์์ ๋๊น ..., ๋น์ ์ ๋ฌด์์ ๋๊น?"๋ผ๊ณ ๋งํฉ๋๋ค. ์ ์ด ๋ค์๋๋ฐ ์๋ฌด ์ผ๋ ์ผ์ด๋์ง ์๋ค์.โ
์ํ ์ ๊ฒ์ ์ฌ์ฉ์์ ๊ด์ ์์ ๊ทธ๊ฒ์ด ์๋ํ๋์ง ํ์ธํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋ฐฉ๋ฒ ์ค ํ๋์ ๋๋ค. ์ด๋ ๊ฒ ํํํด๋ณด์. Kubernetes์ ๊ด์ ์์ ๋ณผ ๋ ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์๋๋ ์์ ์ ์ดํดํ๋ ๋ฐฉ๋ฒ์ด๊ธฐ๋ ํฉ๋๋ค. ์ปจํ ์ด๋๊ฐ ์์๋๊ณ ์์ฑ๋๊ณ ์์๋ ์์ ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ด ์ปจํ ์ด๋์์ ์ง์ ์คํ๋ ์์ ์ ์ฐจ์ด๊ฐ ์์์ ์ดํดํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์๋ํ๋ฉด ์ผ๋ฐ์ ์ธ Java ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ ธ์์ ๋ํฌ์์ ์คํํ๋ ค๊ณ ํ๋ฉด XNUMX์ด, ์ฌ์ง์ด XNUMX๋ถ, ์ฌ์ง์ด XNUMX์ด ๋์์ด๋ผ๋ ์ ์์ ์ผ๋ก ์์๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด ๊ฒฝ์ฐ ์ต์ํ ํด๋น ํฌํธ๋ฅผ ๋ ธํฌํ ์๋ ์์ง๋ง ์๋ตํ์ง ์์ต๋๋ค. ์ฆ, ์์ง ํธ๋ํฝ์ ์์ ํ ์ค๋น๊ฐ ๋์ง ์์์ต๋๋ค.
๋ค์ ๋งํ์ง๋ง, ์ํ ํ์ธ๊ณผ ์ฌ๊ธฐ์์ ์ดํด๋ณด๋ ์ฌ์ค์ ํตํด ์ฐ๋ฆฌ๋ Kubernetes์์ ์ปจํ ์ด๋๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์์นํ์ ๋ฟ๋ง ์๋๋ผ ์ ํ๋ฆฌ์ผ์ด์ ์์ฒด๊ฐ ์์๋์์ผ๋ฉฐ ์ด๋ฏธ ์์ฒญ์ ์๋ตํ๊ณ ์์์ ์ดํดํ ์ ์์ต๋๋ค. ์ํ ํ์ธ์ ํธ๋ํฝ์ ๊ทธ๊ณณ์ผ๋ก ๋ณด๋ผ ์ ์์์ ์๋ฏธํฉ๋๋ค.
์ง๊ธ ์ ๊ฐ ๋งํ๋ ๊ฒ์ Kubernetes ๋ด์ ์ค๋น/ํ์ฑ ํ ์คํธ๋ผ๊ณ ํ๋ฉฐ, ๋ฐ๋ผ์ ์ฐ๋ฆฌ์ ์ค๋น ํ ์คํธ๋ ๋ฐธ๋ฐ์ฑ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ์ฉ์ฑ์ ๋ด๋นํฉ๋๋ค. ์ฆ, ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ค๋น ํ ์คํธ๊ฐ ์ํ๋๋ฉด ๋ชจ๋ ๊ฒ์ด ์ ์์ด๋ฉฐ ํด๋ผ์ด์ธํธ ํธ๋ํฝ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ด๋ํฉ๋๋ค. ์ค๋น ํ ์คํธ๊ฐ ์ํ๋์ง ์์ผ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋จ์ํ ์ฐธ์ฌํ์ง ์๊ณ ์ด ํน์ ์ธ์คํด์ค๊ฐ ๋ฐธ๋ฐ์ฑ์ ์ฐธ์ฌํ์ง ์์ผ๋ฉฐ ๋ฐธ๋ฐ์ฑ์์ ์ ๊ฑฐ๋๊ณ ํด๋ผ์ด์ธํธ ํธ๋ํฝ์ด ํ๋ฅด์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ค๋จ๋๋ฉด ๋ค์ ์์ํ ์ ์๋๋ก Kubernetes ๋ด์ ํ์ฑ ํ ์คํธ๊ฐ ํ์ํฉ๋๋ค. Kubernetes์ ์ ์ธ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ํ์ฑ ํ ์คํธ๊ฐ ์๋ํ์ง ์์ผ๋ฉด ํด๋น ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐธ๋ฐ์ฑ์์ ์ ๊ฑฐ๋ ๋ฟ๋ง ์๋๋ผ ๋ค์ ์์๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ์ ๊ฐ ์ธ๊ธํ๊ณ ์ถ์ ์ค์ํ ์ ์ด ์์ต๋๋ค. ์ค์ฉ์ ์ธ ๊ด์ ์์ ๋ณด๋ฉด ์ค๋น์ฑ ํ ์คํธ๋ ์ผ๋ฐ์ ์ผ๋ก ํ์ฑ์ฑ ํ ์คํธ๋ณด๋ค ๋ ์์ฃผ ์ฌ์ฉ๋๋ฉฐ ๋ ์์ฃผ ํ์ํฉ๋๋ค. ์ฆ, ๋จ์ํ ์ค๋น ์ํ์ ํ์ฑ ์ํ ํ ์คํธ๋ฅผ ๋ชจ๋ ๋ฌด์ฌ์ฝ ์ ์ธํ๋ ๊ฒ์ Kubernetes๊ฐ ๊ทธ๋ ๊ฒ ํ ์ ์๊ณ ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒ์ ํ์ฉํ๋ ๊ฒ์ ๋ณ๋ก ์ข์ ์๊ฐ์ด ์๋๋๋ค. ์ด์ ๋ฅผ ์ค๋ช ํ๊ฒ ์ต๋๋ค. ํ ์คํธ์ ๋ ๋ฒ์งธ ์์ ์ ์ํ ํ์ธ์์ ๊ธฐ๋ณธ ์๋น์ค๋ฅผ ํ์ธํ๋ ๊ฒ์ด ์ข์ ์๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ ์ผ๋ถ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ์น ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ ๊ฒฝ์ฐ ์์ฐ์ค๋ฝ๊ฒ ์ด๋๊ฐ์์ ๊ฐ์ ธ์์ผ ํจ์ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์. ์, ์ด REST API์ ๋ค์ด์ค๋ ์ ๋ณด๋ฅผ ๋์ผํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํฉ๋๋ค. ๋ฐ๋ผ์ ๊ทํ์ healthcheck๊ฐ slashhealth์ ์ฐ๋ฝํ ๊ฒ์ฒ๋ผ ๊ฐ๋จํ๊ฒ ์๋ตํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ "200, ์๊ฒ ์ต๋๋ค, ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ต๋๋ค"๋ผ๊ณ ๋งํ๊ณ ๋์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ ์ ์์ผ๋ฉฐ healthcheck ์ ํ๋ฆฌ์ผ์ด์ ์ "200, ์๊ฒ ์ต๋๋ค, ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์ต๋๋ค"๋ผ๊ณ ๋งํฉ๋๋ค. โ - ์ด๊ฒ์ ๋์ ๊ฑด๊ฐ ๊ฒ์ง์ ๋๋ค. ์ด๊ฒ์ ์๋ ๋ฐฉ์์ด ์๋๋๋ค.
์ฆ, ์์ฒญ์ด ์ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์
๋๋ค. /health
, ๋จ์ํ "200, ok"๋ผ๊ณ ์๋ตํ๋ ๊ฒ์ด ์๋๋ผ ๋จผ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๊ฐ์ ์ฐ๊ฒฐ์ ์๋ํ๊ณ ๊ฑฐ๊ธฐ์์ ํ๋๋ฅผ ์ ํํ๋ ๋ฑ ๋งค์ฐ ๊ธฐ๋ณธ์ ์ธ ์์
์ ์ํํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ์ด ์๋์ง ํ์ธํฉ๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฟผ๋ฆฌํ ์ ์์ต๋๋ค. ์ด ๋ชจ๋ ๊ฒ์ด ์ฑ๊ณตํ๋ค๋ฉด ๋๋ต์ "200, ok"์
๋๋ค. ์ฑ๊ณตํ์ง ๋ชปํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ค๋ ๋ฉ์์ง๊ฐ ๋ํ๋ฉ๋๋ค.
๋ฐ๋ผ์ ์ด์ ๊ด๋ จํ์ฌ ๋ค์ ์ค๋น/ํ์ฑ ํ
์คํธ๋ก ๋์๊ฐ๊ฒ ์ต๋๋ค. ์ค๋น ํ
์คํธ๊ฐ ๊ฐ์ฅ ํ์ํ๋ฐ ํ์ฑ ํ
์คํธ๊ฐ ๋ฌธ์ ๊ฐ ๋๋ ์ด์ ์
๋๋ค. ๋ฐฉ๊ธ ๋งํ ๋๋ก ์ํ ํ์ธ์ ์ ํํ๊ฒ ์ค๋ช
ํ๋ฉด ์ธ์คํด์ค ๋ถ๋ถ์์๋ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ผ๋ก ํ๋ช
๋๊ธฐ ๋๋ฌธ์
๋๋ค.ะฒ ะธะปะธ ัะพ ะฒัะตั
instance
์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค์์. ์ค๋น ํ
์คํธ๋ฅผ ์ ์ธํ์ ๋ ์ํ ํ์ธ์ด ์คํจํ๊ธฐ ์์ํ๊ณ ๊ทธ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ ์ ์๋ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋จ์ํ ๋ฐธ๋ฐ์ฑ์์ ๊บผ์ง๊ณ ์ค์ ๋ก๋ ๋ฌด์๋ ์ํ์์ "์ค๋จ"๋์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ณต๊ตฌ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ผํ๋ค.
ํ์ฑ ํ ์คํธ๋ฅผ ์ ์ธํ๋ค๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์๋๊ณ ํ์ฑ ํ ์คํธ๊ฐ ์คํจํ์ฌ Kubernetes์์ ๋ชจ๋ ๊ฒ์ ์ ๋ฐ์ด ๋ค์ ์์๋๋ค๊ณ ์์ํด ๋ณด์ธ์. ์ด๋ ๋ค์ ์์ํด์ผ ํจ์ ์๋ฏธํฉ๋๋ค. ์ด๊ฒ์ ๋น์ ์ด ์ํ๋ ๊ฒ์ด ์ ํ ์๋๋๋ค. ์ค์ ๋ก ๊ฐ์ธ์ ์ธ ๊ฒฝํ๋์์์ต๋๋ค. JS๋ก ์์ฑ๋์ด Mongo ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ณต๋๋ ์ฑํ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์์ต๋๋ค. ๋ฌธ์ ๋ Kubernetes ์์ ์ ์์ํ ๋ Kubernetes๊ฐ ํ ์ ์๋ค๋ ์์น์ ๋ฐ๋ผ ํ ์คํธ์ ์ค๋น ์ํ์ ํ์ฑ ์ํ๋ฅผ ์ค๋ช ํ๊ธฐ ๋๋ฌธ์ ์ด๋ฅผ ์ฌ์ฉํ ๊ฒ์ด๋ผ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์ด๋ ์์ ๋ถํฐ Mongo๋ ์ฝ๊ฐ "๋ฌด๋์ง๊ณ " ์ํ์ด ์คํจํ๊ธฐ ์์ํ์ต๋๋ค. ๋ฐ๋ผ์ ๋น๊ฐ ๋ด๋ฆฌ๋ ํ ์คํธ์ ๋ฐ๋ฅด๋ฉด ๊ผฌํฌ๋ฆฌ๊ฐ "์ฃฝ์ด๊ธฐ"์์ํ์ต๋๋ค.
์์๋ค์ํผ, ๊ทธ๋ค์ด "์ฃฝ์ผ๋ฉด" ์ด๊ฒ์ ์ฑํ ์ ๋๋ค. ์ฆ, ํด๋ผ์ด์ธํธ๋ก๋ถํฐ ๋ง์ ์ฐ๊ฒฐ์ด ๊ฑธ๋ ค ์์ต๋๋ค. ๊ทธ๋ค์ ๋ํ "์ฃฝ์์ต๋๋ค" - ์๋์, ํด๋ผ์ด์ธํธ๊ฐ ์๋๋ผ ์ฐ๊ฒฐ๋ง ๊ฐ๋ฅํฉ๋๋ค - ๋์์ ๋ชจ๋ ์ฃฝ์ง ์์ผ๋ฉฐ ๋์์ ์ฃฝ์ง ์๊ธฐ ๋๋ฌธ์ ์ผ๋ถ๋ ๋ ์ผ์ฐ, ์ผ๋ถ๋ ๋์ค์ ๋์์ ์์๋์ง ์์ต๋๋ค. ์๊ฐ. ๊ฒ๋ค๊ฐ ํ์ค ๋ฌด์์๋ฅผ ์ฌ์ฉํ๋ฉด ๋งค๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์๊ฐ์ ๋ฐ๋ฆฌ์ด ๋จ์๋ก ์ ํํ๊ฒ ์์ธกํ ์ ์์ผ๋ฏ๋ก ํ ๋ฒ์ ํ ์ธ์คํด์ค์ฉ ์ํํฉ๋๋ค. ํ๋์ Infospot์ด ์ฌ๋ผ๊ฐ๊ณ ๋ฐธ๋ฐ์ฑ์ ์ถ๊ฐ๋๊ณ ๋ชจ๋ ํด๋ผ์ด์ธํธ๊ฐ ๊ฑฐ๊ธฐ๋ก ์ค๋ฉฐ ํผ์์ด๊ธฐ ๋๋ฌธ์ ๊ทธ๋ฌํ ๋ถํ๋ฅผ ๊ฒฌ๋ ์ ์์ผ๋ฉฐ ๋๋ต์ ์ผ๋ก ๋งํ๋ฉด ๊ฑฐ๊ธฐ์์ ์ผํ๋ ์์ญ ๋ช ์ด ์๊ณ ๋์ด์ง๋๋ค. ๋ค์ ์ฌ๋์ด ์ผ์ด๋๊ณ ๋ชจ๋ ์ง์ด ๊ทธ์๊ฒ ์๊ณ ๊ทธ๋ ๋์ด์ง๋๋ค. ์, ์ด ํญํฌ๋ค์ ๊ณ์ ๊ณ๋จ์์ผ๋ก ์์์ ธ ๋์ต๋๋ค. ๊ฒฐ๊ตญ ์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๋ฐฉ๋ฒ์ ์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ฌ์ฉ์ ํธ๋ํฝ์ ์๊ฒฉํ๊ฒ ์ค์งํ๊ณ ๋ชจ๋ ์ธ์คํด์ค๊ฐ ์์นํ๋๋ก ํ ๋ค์ ๋ชจ๋ ์ฌ์ฉ์ ํธ๋ํฝ์ ํ ๋ฒ์ ์์ํ์ฌ ์ด๋ฏธ XNUMX๊ฐ์ ์ธ์คํด์ค ๋ชจ๋์ ๋ถ์ฐ๋๋๋ก ํด์ผ ํ์ต๋๋ค.
์ด ํ์ฑ ํ ์คํธ๊ฐ ๋ฐํ๋์ด ๋ชจ๋ ๊ฒ์ด ๋ค์ ์์๋์ง ์์๋ค๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฅผ ์ ์ฒ๋ฆฌํ์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ก์ธ์คํ ์ ์๊ณ ๋ชจ๋ ์ฌ์ฉ์๊ฐ "ํ๋ฝ"ํ๊ธฐ ๋๋ฌธ์ ๊ท ํ ์กฐ์ ์ ๋ชจ๋ ๊ฒ์ด ๋นํ์ฑํ๋์์ต๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ฉด ๋ชจ๋ ๊ฒ์ด ๋ฐธ๋ฐ์ฑ์ ํฌํจ๋์ง๋ง ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ค์ ์์ํ ํ์๊ฐ ์์ผ๋ฉฐ ์ด์ ์๊ฐ๊ณผ ๋ฆฌ์์ค๋ฅผ ๋ญ๋นํ ํ์๊ฐ ์์ต๋๋ค. ๊ทธ๋ค์ ๋ชจ๋ ์ด๋ฏธ ์ฌ๊ธฐ์ ์๊ณ ํธ๋ํฝ ์ค๋น๊ฐ ๋์ด ์์ผ๋ฏ๋ก ํธ๋ํฝ์ด ์ด๋ฆฌ๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์์ ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์๋ฆฌ์ ์๊ณ ๋ชจ๋ ๊ฒ์ด ๊ณ์ ์๋ํฉ๋๋ค.
๋ฐ๋ผ์ ์ค๋น ์ํ ํ ์คํธ์ ํ๋์ฑ ํ ์คํธ๋ ๋ค๋ฆ ๋๋ค. ๋์ฑ์ด ์ด๋ก ์ ์ผ๋ก ์๋ก ๋ค๋ฅธ ์ํ ํ์ธ(์: ํ ๊ฐ์ง ์ ํ์ radii, ํ ๊ฐ์ง ์ ํ์ liv)์ ์ํํ๊ณ ๋ค๋ฅธ ํญ๋ชฉ์ ํ์ธํ ์ ์์ต๋๋ค. ์ค๋น ํ ์คํธ ์ค์ ๋ฐฑ์๋๋ฅผ ํ์ธํ์ธ์. ์๋ฅผ ๋ค์ด, ํ์ฑ ํ ์คํธ์์๋ ํ์ฑ ํ ์คํธ๊ฐ ์ผ๋ฐ์ ์ผ๋ก ์๋ตํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ผ ๋ฟ์ด๋ผ๋ ๊ด์ ์์ ํ์ธํ์ง ์์ต๋๋ค.
์๋ํ๋ฉด ์์ฒด ํ ์คํธ๋ ๋์ฒด๋ก ์ฐ๋ฆฌ๊ฐ "๊ฐํ" ์ํ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฌดํ ๋ฃจํ ๋๋ ๊ธฐํ ๋ฌธ์ ๊ฐ ์์๋์์ผ๋ฉฐ ๋ ์ด์ ์์ฒญ์ด ์ฒ๋ฆฌ๋์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ์ด๋ค์ ๋ถ๋ฆฌํ๊ณ ์๋ก ๋ค๋ฅธ ๋ ผ๋ฆฌ๋ฅผ ๊ตฌํํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ ๋๋ค.
ํ ์คํธํ ๋, ๊ฑด๊ฐ๊ฒ์งํ ๋ ๋ต๋ณํด์ผ ํ ์ฌํญ์ ๋ํด. ์ ๋ง ๊ณ ํต ์ค๋ฝ์ต๋๋ค. ์ด๊ฒ์ ์ต์ํ ์ฌ๋๋ค์ ์๋ง ์์ ๊ฒ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ง์งํ๊ฒ, ๋๋ 200%์ ๊ฒฝ์ฐ์ "XNUMX"์ด๋ผ๊ณ ๋๋ตํ๋ ์๋น์ค๋ฅผ ๋ด ์ธ์์์ ๋ณธ ์ ์ด ์์ต๋๋ค. ์ฆ, ๋๊ฐ ์ฑ๊ณตํ๋๊ฐ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋์์ ๊ทธ๋ค์ ์๋ต ๋ณธ๋ฌธ์ "์ด๋ฌํ ์ค๋ฅ"๋ผ๊ณ ์ ์ต๋๋ค.
์ฆ, ์๋ต ์ํ๊ฐ ํ์๋ฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ฑ๊ณตํ์ต๋๋ค. ํ์ง๋ง ๋์์ ๋ณธ๋ฌธ์ ๊ตฌ๋ฌธ ๋ถ์ํด์ผ ํฉ๋๋ค. ๋ณธ๋ฌธ์์๋ "์ฃ์กํฉ๋๋ค. ์์ฒญ์ด ์ค๋ฅ๋ก ์ข ๋ฃ๋์์ต๋๋ค"๋ผ๊ณ ๋งํ๊ณ ์ด๊ฒ์ด ํ์ค์ผ ๋ฟ์ ๋๋ค. ๋๋ ์ด๊ฒ์ ์ค์ํ์์ ๋ณด์๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ค ์ฌ๋๋ค์ ๊ทธ๊ฒ์ด ์ฌ๋ฏธ์๋ค๊ณ ์๊ฐํ์ง ์๊ณ ๋ค๋ฅธ ์ฌ๋๋ค์ ๊ทธ๊ฒ์ด ๋งค์ฐ ๊ณ ํต์ค๋ฝ๋ค๊ณ ์๊ฐํ๋ฏ๋ก ์ฌ์ ํ ๊ฐ๋จํ ๊ท์น์ ๊ณ ์ํ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์ํ ํ์ธ ๋ฐ ์์น์ ์ผ๋ก ์น ์ ํ๋ฆฌ์ผ์ด์ ์์ ์.
๋ชจ๋ ๊ฒ์ด ์ ๋์๋ค๋ฉด 204๋ฒ์งธ ๋ต๋ณ์ผ๋ก ์๋ตํ์ธ์. ์์น์ ์ผ๋ก 5๋ถ์ 10์ ๋ต๋ณ์ด ๊ทํ์๊ฒ ์ ํฉํฉ๋๋ค. ragsy๋ฅผ ์ ์ฝ๊ณ ์ผ๋ถ ์๋ต ์ํ๊ฐ ๋ค๋ฅธ ์๋ต ์ํ์ ๋ค๋ฅด๋ค๋ ๊ฒ์ ์๊ณ ์๋ค๋ฉด ์ ์ ํ ์๋ต ์ํ(15, 502, XNUMX, XNUMX ๋ฑ)๋ก ๋ตํ์ญ์์ค. ๋ณ๋ก ์ข์ง ์๋ค๋ฉด ๊ทธ๋ฅ "XNUMX"์ด๋ฉด ๋ฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์๋ชป๋๊ณ ์ํ ์ ๊ฒ์ด ์๋ตํ์ง ์์ผ๋ฉด XNUMX๋ถ์ XNUMX๋ก ๋๋ตํ์ญ์์ค. ๋ค์ ๋งํ์ง๋ง, ์๋ต ๋ฐฉ๋ฒ์ ์ดํดํ๋ฉด ์๋ต ์ํ๊ฐ ์ด๋ป๊ฒ ๋ค๋ฅธ์ง ์ ์ ์์ต๋๋ค. ์ดํด๊ฐ ๋์ง ์๋๋ค๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ํ ํ์ธ์ ์๋ตํ๊ธฐ ์ํ XNUMX๋ฒ ์ต์ ์ ์ ํํ์ธ์.
์ด๊ฒ์ ๋ ๋ค๋ฅธ ์์ ์ ๋๋ค. ๊ธฐ๋ณธ ์๋น์ค ํ์ธ์ ๋ํด ์กฐ๊ธ ๋์๊ฐ๊ณ ์ถ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ ํ๋ฆฌ์ผ์ด์ ๋ค์ ์๋ ๋ชจ๋ ๊ธฐ๋ณธ ์๋น์ค(์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ๊ฒ)๋ฅผ ๊ฒ์ฌํ๊ธฐ ์์ํ๋ฉด ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ์ ๊ด์ ์์ ์ฐ๋ฆฌ๋ "๋ฎ์ ๊ฒฐํฉ", ์ฆ ์๋น์ค๊ฐ ์๋ก ์ต์ํ์ผ๋ก ์์กดํ๋ ๊ฐ๋ ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๊ทธ ์ค ํ๋๊ฐ ์คํจํ๋ฉด ์ด ๊ธฐ๋ฅ์ด ์๋ ๋ค๋ฅธ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ณ์ ์๋ํฉ๋๋ค. ์ผ๋ถ ๊ธฐ๋ฅ์ด ์๋ํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ชจ๋ ์ํ ํ์ธ์ ์๋ก ์ฐ๊ฒฐํ๋ฉด ๊ฒฐ๊ตญ ์ธํ๋ผ์์ ํ ๊ฐ์ง๊ฐ ๋จ์ด์ง๊ฒ ๋๋ฉฐ, ๊ทธ๊ฒ์ด ๋จ์ด์ง๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ์๋น์ค์ ๋ชจ๋ ์ํ ํ์ธ๋ ์คํจํ๊ธฐ ์์ํฉ๋๋ค. ์ ์ฒด ๋ง์ดํฌ๋ก์๋น์ค ์ํคํ ์ฒ No. ๊ทธ๊ณณ์์๋ ๋ชจ๋ ๊ฒ์ด ์ด๋์์ก์ต๋๋ค.
๋ฐ๋ผ์ ๊ธฐ๋ณธ ์๋น์ค๋ฅผ ํ์ธํด์ผ ํ๋ค๋ ์ ์ ๋ค์ ๋ฐ๋ณตํ๊ณ ์ถ์ต๋๋ค. ์ด ์๋น์ค๊ฐ ์์ผ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ด XNUMX%์ ๊ฒฝ์ฐ ์ ์ญํ ์ ํ ์ ์์ต๋๋ค. ์ฆ, ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅํ๊ฑฐ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฒ์ํ๋ ๋ฐ ์ฌ์ฉํ๋ REST API๊ฐ ์๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ผ๋ฉด ์ฌ์ฉ์์์ ์์ ์ ๋ณด์ฅํ ์ ์๋ค๋ ๊ฒ์ด ๋ ผ๋ฆฌ์ ์ ๋๋ค.
๊ทธ๋ฌ๋ ์ฌ์ฉ์๋ฅผ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊บผ๋ผ ๋ ํ๋ฐํธ์๋์ ์๋ต์ ๋ณด๋ด๊ธฐ ์ ์ ์ ๋ ฅํ ๋ค๋ฅธ ๋ฐฑ์๋์ ๋ค๋ฅธ ๋ฉํ๋ฐ์ดํฐ๊ฐ ์ถ๊ฐ๋ก ํ๋ถํด์ง๊ณ ์ด ๋ฐฑ์๋๋ฅผ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ ์ด๋ ๋ฉํ๋ฐ์ดํฐ์ ์ผ๋ถ ์์ด ๋ต๋ณํ์ธ์.
๋ค์์ผ๋ก, ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ํ ๋ ๋ฐ์ํ๋ ๊ณ ํต์ค๋ฌ์ด ๋ฌธ์ ์ค ํ๋๋ ์์ต๋๋ค.
์ฌ์ค ์ด๋ ๋์ฒด๋ก ์ฟ ๋ฒ๋คํฐ์ค์๋ง ์ ์ฉ๋๋ ๊ฒ์ด ์๋๋ผ, ์ผ์ข ์ ๋๊ท๋ชจ ๊ฐ๋ฐ, ํนํ ๋ฐ๋ธ์ต์ค(DevOps) ๋ฌธํ๊ฐ ์ฟ ๋ฒ๋คํฐ์ค์ ๊ฐ์ ์๊ธฐ์ ํ์ฐ๋๊ธฐ ์์ํ ๊ฒ๋ ์ฐ์ฐ์ด์๋ค. ๋ฐ๋ผ์ ์ ๋ฐ์ ์ผ๋ก Kubernetes ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ์์ ์ผ๋ก ์ข ๋ฃํด์ผ ํ๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์ฟ ๋ฒ๋คํฐ์ค ์ด์ ์๋ ์ฌ๋๋ค์ ์ด๋ฐ ์ผ์ ํ์ง๋ง, ์ฟ ๋ฒ๋คํฐ์ค๊ฐ ๋ฑ์ฅํ๋ฉด์ ์ฐ๋ฆฌ๋ ์ด์ ๋ํด ์ง๋จ์ ์ผ๋ก ์ด์ผ๊ธฐํ๊ธฐ ์์ํ์ต๋๋ค.
์ ์์ ์ธ ์ข ๋ฃ
์ผ๋ฐ์ ์ผ๋ก Graceful Shutdown์ ๋ฌด์์ด๋ฉฐ ์ ํ์ํ๊ฐ์? ์ด๊ฒ์ ์ด๋ค ์ด์ ๋ก ์ธํด ์ ํ๋ฆฌ์ผ์ด์
์ด ์ถฉ๋ํ๋ ๊ฒฝ์ฐ์ ๋ํ ๊ฒ์
๋๋ค. app stop
- ๋๋ ์๋ฅผ ๋ค์ด ์ด์ ์ฒด์ ๋ก๋ถํฐ ์ ํธ๋ฅผ ๋ฐ์ผ๋ฉด ์ ํ๋ฆฌ์ผ์ด์
์ด ์ด๋ฅผ ์ดํดํ๊ณ ์ด์ ๋ํด ์กฐ์น๋ฅผ ์ทจํด์ผ ํฉ๋๋ค. ๋ฌผ๋ก ์ต์
์ ์๋๋ฆฌ์ค๋ ์ ํ๋ฆฌ์ผ์ด์
์ด SIGTERM์ ์์ ํ๊ณ "SIGTERM, ์กฐ๊ธ๋ง ๊ธฐ๋ค๋ ค, ์์
ํ๊ณ ์๋ฌด๊ฒ๋ ํ์ง ๋ง์ธ์."์ ๊ฐ์ ๊ฒฝ์ฐ์
๋๋ค. ์ด๊ฒ์ ์์ ํ ๋์ ์ ํ์
๋๋ค.
๊ฑฐ์ ๋๊ฐ์ด ๋์ ์ต์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด SIGTERM์ ์์ ํ๊ณ "๊ทธ๋ค์ด segterm์ด๋ผ๊ณ ๋งํ๋๋ฐ, ๊ทธ๊ฑด ์ฐ๋ฆฌ๊ฐ ๋๋ฌ๋ค๋ ๋ป์ ๋๋ค. ๋ณธ ์ ๋ ์๊ณ , ์ด๋ค ์ฌ์ฉ์ ์์ฒญ๋ ๋ชจ๋ฅด๊ณ , ์ด๋ค ์ข ๋ฅ์ ์์ฒญ์ธ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค."๋ผ๊ณ ๋งํ๋ ๊ฒฝ์ฐ์ ๋๋ค. ์ง๊ธ ์์ ์ค์ธ ์์ฒญ์ด SIGTERM์ด๋ผ๊ณ ํ๋๊ตฐ์. ์ฆ, ์ฐ๋ฆฌ๊ฐ ์ข ๋ฃ๋๋ค๋ ์๋ฏธ์ ๋๋ค." ์ด๊ฒ์ ๋ํ ๋์ ์ ํ์ ๋๋ค.
์ด๋ค ์ต์ ์ด ์ข์๊ฐ์? ์ฒซ ๋ฒ์งธ ์์ ์ ์์ ์๋ฃ๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ์ ๋๋ค. ์ข์ ์ต์ ์ ์๋ฒ๊ฐ SIGTERM์ ์์ ํ๋ ๊ฒฝ์ฐ ์ํํ ์์ ์ ๊ณ์ ๊ณ ๋ คํ๋ ๊ฒ์ ๋๋ค.
SIGTERM์ ์ํํธ ์ข ๋ฃ์ด๋ฉฐ ํน๋ณํ ์ค๊ณ๋์์ผ๋ฉฐ ์ฝ๋ ์์ค์์ ๊ฐ๋ก์ฑ ์ ์๊ณ ์ฒ๋ฆฌ๋ ์ ์์ต๋๋ค. ์ด์ ์ ๊น๋ง์. ๋จผ์ ์์ ์ ๋ง์น ๋ค์ ์ข ๋ฃํ ๊ฒ์ ๋๋ค.
Kubernetes ๊ด์ ์์ ๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค. Kubernetes ํด๋ฌ์คํฐ์์ ์คํ ์ค์ธ Pod์ "์ค์งํ์ธ์. ์ ๋ฆฌ ๊ฐ์ธ์"๋ผ๊ณ ๋งํ๊ฑฐ๋ ๋ค์ ์์๋๊ฑฐ๋ Kubernetes๊ฐ Pod๋ฅผ ๋ค์ ์์ฑํ ๋ ์ ๋ฐ์ดํธ๊ฐ ๋ฐ์ํ๋ฉด Kubernetes๋ ๋์ผํ SIGTERM ๋ฉ์์ง๋ฅผ Pod์ ๋ณด๋ด๊ณ ๊ธฐ๋ค๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ๊ทธ๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ด๋ฉฐ ๋ํ ๊ตฌ์ฑ๋์ด ์์ผ๋ฉฐ ์กธ์ ์ฅ์๋ Graceful ShutdownTimeout์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ํน๋ณํ ๋งค๊ฐ ๋ณ์๊ฐ ์์ต๋๋ค. ์์๋ค์ํผ, ๊ทธ๊ฒ์ ์๋ฌด๊ฒ๋ ์๋ ๊ฒ์ด ์๋๋ฉฐ ์ง๊ธ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒ๋ ์๋ฌด๊ฒ๋ ์๋๋๋ค.
์ฌ๊ธฐ์์ ์ฐ๋ฆฌ๋ SIGTERM์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด๋ด๋ ์๊ฐ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ฌด์ธ๊ฐ์ ๋ฏธ์ณ๋ฒ๋ฆฐ ๊ฒ ๊ฐ๊ฑฐ๋ "๋ฉ์ถฐ" ์๊ณ ๋๋์ง ์์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ์ดํดํ๋ ์๊ฐ ์ฌ์ด์ ์ผ๋ง๋ ์ค๋ ๊ธฐ๋ค๋ ค์ผ ํ๋์ง ๊ตฌ์ฒด์ ์ผ๋ก ๋งํ ์ ์์ต๋๋ค. SIGKILL์ ๋ณด๋ด์ญ์์ค. ์ฆ, ์์ ์ ์ด์ฌํ ์๋ฃํ์ญ์์ค. ์ฆ, ์ผ์ข ์ ๋ฐ๋ชฌ์ด ์คํ๋๊ณ ์์ ์ ์ฒ๋ฆฌํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ฐ๋ชฌ์ด ์ํํ๋ ์์ ์ด ํ๊ท ์ ์ผ๋ก ํ ๋ฒ์ 30์ด ์ด์ ์ง์๋์ง ์๋๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ SIGTERM์ด ๋์ฐฉํ๋ฉด ๋ฐ๋ชฌ์ด SIGTERM ์ดํ ์ต๋ 30์ด ํ์ ์๋ฃ๋ ์ ์๋ค๋ ๊ฒ์ ์ดํดํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ง์ฝ์ ๋๋นํด 45์ด๋ผ๊ณ ์ฐ๊ณ SIGTERM์ด๋ผ๊ณ ๋งํฉ๋๋ค. ๊ทธ ํ 45์ด๋ฅผ ๊ธฐ๋ค๋ฆฝ๋๋ค. ์ด๋ก ์ ์ผ๋ก ์ด ๊ธฐ๊ฐ ๋์ ์ ๋ง๋ ์์ ์ ์์ ์ ์๋ฃํ๊ณ ์์ฒด์ ์ผ๋ก ์ข ๋ฃ๋์ด์ผ ํฉ๋๋ค. ํ์ง๋ง ๊ฐ์๊ธฐ ์ฒ๋ฆฌํ ์ ์๋ค๋ฉด, ๋ฉ์ถฐ ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๋ ์ด์ ์์ฒญ์ ์ ์์ ์ผ๋ก ์ฒ๋ฆฌํ์ง ๋ชปํ๊ณ ์๋ค๋ ์๋ฏธ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ 45์ด ์์ ๊ทธ๋ฅผ ์์ ํ๊ฒ ์ฒํํ ์ ์์ต๋๋ค.
์ค์ ๋ก ์ฌ๊ธฐ์์๋ ๋ ๊ฐ์ง ์ธก๋ฉด๋ ๊ณ ๋ คํ ์ ์์ต๋๋ค. ์ฒซ์งธ, ์์ฒญ์ ๋ฐ์ ๊ฒฝ์ฐ ์ด๋ป๊ฒ๋ ์์ ์ ์์ํ๊ณ ์ฌ์ฉ์์๊ฒ ์๋ต์ ์ ๊ณตํ์ง ์์์ง๋ง ์๋ฅผ ๋ค์ด SIGTERM์ ๋ฐ์๋ค๋ ์ ์ ์ดํดํ์ธ์. ์ด๋ฅผ ๊ฐ์ ํ๊ณ ์ฌ์ฉ์์๊ฒ ๋ต๋ณ์ ์ ๊ณตํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ ๋๋ค. ์ด์ ๊ด๋ จํ์ฌ ์ด๊ฒ์ด ์ฒซ ๋ฒ์งธ ์์ ์ ๋๋ค. ์ฌ๊ธฐ์ ๋ ๋ฒ์งธ ์์ ์ ์์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ ๊ฒฝ์ฐ ์ผ๋ฐ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์์ฒญ์ ๋ฐ์ ๋ค์ ์ผ๋ถ ์์ ์ ์์ํ๊ณ ์ด๋๊ฐ์์ ํ์ผ ๋ค์ด๋ก๋๋ฅผ ์์ํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ค์ด๋ก๋ํ๋ ๋ฑ์ ๋ฐฉ์์ผ๋ก ์ํคํ ์ฒ๋ฅผ ๊ตฌ์ถํ๋ค๋ ๊ฒ์ ๋๋ค. ์ ๊ฒ. ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์์ ์์ฒญ์ 2๋ถ ๋์ ์ค๋จ๋๊ณ ์ฌ์ฉ์๊ฐ ์๋ตํ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ํคํ ์ฒ ์์ ์ด ํ์ํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ฆ, ์์ ์ด ์งง๋ค๋ฉด SIGTERM์ ๋ฌด์ํ๊ณ ์์ ํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ผ๋ ์์๊น์ง ๊ณ ๋ คํ์ธ์. ์์ ์ด ๊ธธ๋ฉด ์ด ๊ฒฝ์ฐ SIGTERM์ ๋ฌด์ํ๋ ๊ฒ์ด ์๋ฏธ๊ฐ ์์ต๋๋ค. ์ด๋ฌํ ๊ธด ์์ ์ ํผํ๊ธฐ ์ํด ์ํคํ ์ฒ๋ฅผ ๋ค์ ์ค๊ณํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ ๋๋ค. ์ฌ์ฉ์๊ฐ ๊ทธ๋ฅ ๊ธฐ๋ค๋ฆฌ์ง ์๋๋ก ๋ง์ด์ฃ . ๋ชจ๋ฅด๊ฒ ์ด์, ๊ฑฐ๊ธฐ์ ์ด๋ค ์ข ๋ฅ์ ์น์์ผ์ ๋ง๋ค๊ณ , ์๋ฒ๊ฐ ์ด๋ฏธ ํด๋ผ์ด์ธํธ์ ๋ณด๋ผ ๋ฆฌ๋ฒ์ค ํํฌ๋ฅผ ๋ง๋์ธ์. ํ์ง๋ง ์ฌ์ฉ์๊ฐ XNUMX๋ถ ๋์ ๊ธฐ๋ค๋ฆฌ๋๋ก ๊ฐ์ํ์ง ๋ง๊ณ ์ธ์ ์ด ๋๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ์ธ์. ๊ทธ์๊ฒ ๋๋ตํด ๋ณด์ธ์. ์ด๋์ ๊นจ์ง์ง ์์ธกํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ด ์ข ๋ฃ๋๋ฉด ์ ์ ํ ์ข ๋ฃ ์ฝ๋๋ฅผ ์ ๊ณตํด์ผ ํฉ๋๋ค. ์ฆ, ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ซ๊ณ ์ค์งํ๋ผ๋ ์์ฒญ์ ๋ฐ๊ณ ์ ์์ ์ผ๋ก ์ค์ค๋ก ์ค์งํ ์ ์๋ ๊ฒฝ์ฐ ์ผ์ข ์ ์ข ๋ฃ ์ฝ๋ 1,5,255 ๋ฑ์ ๋ฐํํ ํ์๊ฐ ์์ต๋๋ค. ์ ์ด๋ Linux ์์คํ ์์๋ ์ฝ๋๊ฐ 0์ด ์๋ ๋ชจ๋ ๊ฒ์ ์คํจํ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ์ฆ, ์ด ๊ฒฝ์ฐ ๊ทํ์ ์ ์ฒญ์ด ์ค๋ฅ๋ก ์ข ๋ฃ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋ฉ๋๋ค. ๋ฐ๋ผ์ ์ฐํธ์ ์ผ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ค๋ฅ ์์ด ์๋ฃ๋๋ฉด ์ถ๋ ฅ์ 0์ด ํ์๋ฉ๋๋ค. ์ด๋ค ์ด์ ๋ก๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์คํจํ๋ฉด ์ถ๋ ฅ์ non-XNUMX์ด ํ์๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ ํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง ์ต์ . ์ฌ์ฉ์๊ฐ ์์ฒญ์ ๋ณด๋ด๊ณ ์ด๋ฅผ ์ฒ๋ฆฌํ๋ ๋์ XNUMX๋ถ ๋์ ๋ฉ์ถ๋ ๊ฒ์ ์ข์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ๊ณ ๊ฐ ์ธก์์ ์ผ๋ฐ์ ์ผ๋ก ๊ฐ์น๊ฐ ์๋ ๊ฒ์ด ๋ฌด์์ธ์ง์ ๋ํด์๋ ๋ง์๋๋ฆฌ๊ณ ์ถ์ต๋๋ค. ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ , ํ๋ฐํธ ์๋ ๋ฑ์ด ์๋์ง๋ ์ค์ํ์ง ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ์ ์ธ์ ์ด ์ข ๋ฃ๋ ์ ์์ผ๋ฉฐ ์ด๋ค ์ผ์ด ๋ฐ์ํ ์ ์๋ค๋ ์ ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์์ฒญ์ด ์ ๋๋ก ์ฒ๋ฆฌ๋์ง ์์ ์๋ต์ด ๋ฐํ๋์ง ์์ ์ฑ ์ ์ก๋ ์ ์์ต๋๋ค. ๊ทํ์ ํ๋ฐํธ์๋ ๋๋ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ (์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ํ๋ฐํธ์๋๋ฅผ ๊ทธ๋ ๊ฒ ํํํ๊ฒ ์ต๋๋ค)์ ์ด๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์น์์ผ์ผ๋ก ์์ ํ๋ค๋ฉด ์ด๊ฒ์ ์ผ๋ฐ์ ์ผ๋ก ์ ๊ฐ ๊ฒช์ ์ต์ ์ ๊ณ ํต์ ๋๋ค.
์ผ๋ถ ์ผ๋ฐ ์ฑํ ์ ๊ฐ๋ฐ์๊ฐ ์ด๋ฅผ ์์ง ๋ชปํ๋ ๊ฒฝ์ฐ ์น์์ผ์ด ์ค๋จ๋ ์ ์๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ์ด๋ค์ ๊ฒฝ์ฐ ํ๋ก์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ฉด ๊ตฌ์ฑ์ ๋ณ๊ฒฝํ๊ธฐ๋ง ํ๋ฉด ๋ค์ ๋ก๋๋ฉ๋๋ค. ๋น์ฐํ ์ด ๊ฒฝ์ฐ ๋ชจ๋ ์ฅ๊ธฐ ์ธ์ ์ด ์ค๋จ๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ค์ด ์ฐ๋ฆฌ์๊ฒ ๋ฌ๋ ค์์ ์ด๋ ๊ฒ ๋งํฉ๋๋ค. "์๋ค์, ๋ญ ํ๋ ๊ฑฐ์ผ? ๋ชจ๋ ํด๋ผ์ด์ธํธ์ ์ฑํ ์ด ์ค๋จ๋์ด!" ์ฐ๋ฆฌ๋ ๊ทธ๋ค์๊ฒ ์ด๋ ๊ฒ ๋งํฉ๋๋ค. โ๋ญํ๋ ๊ฑฐ์์? ํด๋ผ์ด์ธํธ๊ฐ ๋ค์ ์ฐ๊ฒฐํ ์ ์์ต๋๊น? ๊ทธ๋ค์ "์๋์. ์ธ์ ์ด ์ฐข์ด์ง์ง ์๋๋ก ํด์ผ ํฉ๋๋ค."๋ผ๊ณ ๋งํฉ๋๋ค. ๊ฐ๋จํ ๋งํด์ ์ด๊ฒ์ ์ค์ ๋ก ๋ง๋ ์๋๋ ์ผ์ ๋๋ค. ํด๋ผ์ด์ธํธ ์ธก์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ํนํ ์น์์ผ๊ณผ ๊ฐ์ด ์ค๋ ์ง์๋๋ ์ธ์ ์ ๊ฒฝ์ฐ ์ธ์ ์ด ์ค๋จ๋ ์ ์์ผ๋ฉฐ ์ฌ์ฉ์๊ฐ ๋์น ์ฑ์ง ๋ชปํ๋ ๊ฒฝ์ฐ ์ด๋ฌํ ์ธ์ ์ ๋ค์ ์ค์นํ ์ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ชจ๋ ๊ฒ์ด ์๋ฒฝํด์ง๋๋ค.
๋ฆฌ์์ค
์ฌ์ค ์ฌ๊ธฐ์๋ ์์งํ ์ด์ผ๊ธฐ๋ง ๋ค๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค. ๋ค์ ์ค์ํ์์. ์์์ ๊ดํด ๋ค์ด๋ณธ ๊ฒ ์ค ๊ฐ์ฅ ์ญ๊ฒน์ต๋๋ค.
์ด ๊ฒฝ์ฐ ๋ฆฌ์์ค๋ Kubernetes ํด๋ฌ์คํฐ์ ํฌ๋์ ๋ฃ์ ์ ์๋ ์ผ์ข ์ ์์ฒญ, ์ ํ์ ์๋ฏธํฉ๋๋ค. ๊ฐ๋ฐ์์๊ฒ ๋ค์ ๊ฐ์ฅ ์๊ธด ๋ง์... ์ด์ ์ง์ฅ ๋๋ฃ ๊ฐ๋ฐ์ ์ค ํ ๋ช ์ด "๋ด ์ ํ๋ฆฌ์ผ์ด์ ์ด ํด๋ฌ์คํฐ์์ ์์๋์ง ์์ต๋๋ค."๋ผ๊ณ ๋งํ ์ ์ด ์์ต๋๋ค. ์์๋์ง ์๋์ง ์ดํด๋ดค์ง๋ง ๋ฆฌ์์ค์ ๋ง์ง ์๊ฑฐ๋ ์์ฃผ ์์ ์ ํ์ ์ค์ ํ์ต๋๋ค. ์ฆ, ๋ฆฌ์์ค๋ก ์ธํด ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ํ ์ ์์ต๋๋ค. ๋๋ "์์ ๋๋ฌธ์ ์์๋์ง ์์ ๊ฒ์ ๋๋ค. ํ์ํ ์์ ๊ฒฐ์ ํ๊ณ ์ ์ ํ ๊ฐ์ ์ค์ ํ์ญ์์ค."๋ผ๊ณ ๋งํฉ๋๋ค. ๊ทธ๋ "์ด๋ค ์ข ๋ฅ์ ์์์ด์?"๋ผ๊ณ ๋งํฉ๋๋ค. ๋๋ ๊ทธ์๊ฒ Kubernetes, ์์ฒญ ์ ํ ๋ฐ ์ด์ฉ๊ณ ์ ์ฉ๊ณ ์ค์ ํด์ผ ํ๋ค๊ณ ์ค๋ช ํ๊ธฐ ์์ํ์ต๋๋ค. ๊ทธ ๋จ์๋ XNUMX๋ถ ๋์ ๋ฃ๊ณ ๊ณ ๊ฐ๋ฅผ ๋๋์ด๋ฉฐ ์ด๋ ๊ฒ ๋งํ์ต๋๋ค. โ์ ๋ ๊ฐ๋ฐ์๋ก ์ผํ๊ธฐ ์ํด ์ฌ๊ธฐ์ ์๊ณ ์ด๋ค ์์์ ๋ํด์๋ ์๊ณ ์ถ์ง ์์ต๋๋ค. ๋๋ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ฌ๊ธฐ์ ์๊ณ ๊ทธ๊ฒ ์ ๋ถ์ ๋๋ค.โ ์ฌํ๋ค. ๊ฐ๋ฐ์ ์ ์ฅ์์๋ ๋งค์ฐ ์ํ๊น์ด ๊ฐ๋ ์ ๋๋ค. ํนํ ํ๋ ์ธ๊ณ์์๋ ์ง๋ณด์ ์ธ ๋ฐ๋ธ์ต(devops)์ด ๊ทธ๋ ์ต๋๋ค.
์์์ด ์ ํ์ํ๊ฐ์? Kubernetes์๋ ๋ ๊ฐ์ง ์ ํ์ ๋ฆฌ์์ค๊ฐ ์์ต๋๋ค. ์ผ๋ถ๋ ์์ฒญ์ด๋ผ๊ณ ํ๊ณ ๋ค๋ฅธ ์ผ๋ถ๋ ์ ํ์ด๋ผ๊ณ ํฉ๋๋ค. ์์์ ํตํด ์ฐ๋ฆฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํญ์ ๋ ๊ฐ์ง ๊ธฐ๋ณธ ์ ํ ์ฌํญ๋ง ์์์ ์ดํดํ ๊ฒ์ ๋๋ค. ์ฆ, Kubernetes์์ ์คํ๋๋ ์ปจํ ์ด๋์ ๋ํ CPU ์๊ฐ ์ ํ ๋ฐ RAM ์ ํ์ ๋๋ค.
์ ํ์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ๋ํ ์ํ์ ์ง์ ํฉ๋๋ค. ์ฆ, ์ ํ์ 1GB์ RAM์ด ์๋ค๊ณ ๋งํ๋ฉด ์ ํ๋ฆฌ์ผ์ด์ ์ 1GB ์ด์์ RAM์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฐ ๊ฐ์๊ธฐ ์ด๊ฒ์ ์ํ๊ณ ์๋ํ๋ฉด oom killer๋ผ๋ ํ๋ก์ธ์ค๊ฐ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ, ์ฆ ์์ฉ ํ๋ก๊ทธ๋จ์ ์ข ๋ฃํ๊ณ ์ข ๋ฃํฉ๋๋ค. ์ฆ, ๊ฐ๋จํ ๋ค์ ์์๋ฉ๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ CPU์ ๋ฐ๋ผ ๋ค์ ์์๋์ง ์์ต๋๋ค. CPU์ ๊ฒฝ์ฐ, ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ ํ์ ์ง์ ๋ ๊ฒ๋ณด๋ค ๋ง์ด ์ฌ์ฉํ๋ ค๊ณ ํ๋ฉด ๋จ์ํ CPU๊ฐ ์๊ฒฉํ๊ฒ ์ ํ๋ฉ๋๋ค. ์ด๋ก ์ธํด ๋ค์ ์์๋์ง๋ ์์ต๋๋ค. ์ด๊ฒ์ด ํ๊ณ์ ๋๋ค. ์ด๊ฒ์ด ์ํ์ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ถํ์ด ์์ต๋๋ค. ์์ฒญ์ Kubernetes๊ฐ Kubernetes ํด๋ฌ์คํฐ์ ๋ ธ๋๊ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์ฑ์์ง๋ ๋ฐฉ์์ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฆ, ์์ฒญ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ผ์ข ์ ์ปค๋ฐ์ ๋๋ค. ๋ด๊ฐ ์ฌ์ฉํ๊ณ ์ถ์ ๊ฒ์ด ๋ฌด์์ธ์ง ์ ํ ์์ต๋๋ค. โ์ด ์ ๋์ CPU์ ์ด ์ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์์ฝํด ์ฃผ์ธ์.โ ์ ๋ง ๊ฐ๋จํ ๋น์ ์ ๋๋ค. ์ด 8๊ฐ์ CPU๊ฐ ์๋ ๋ ธ๋๊ฐ ์๋ค๋ฉด ์ด๋จ๊น์? ๊ทธ๋ฆฌ๊ณ ์์ฒญ์ CPU 1๊ฐ๊ฐ ์๋ Pod๊ฐ ๋์ฐฉํฉ๋๋ค. ์ด๋ ๋ ธ๋์ CPU๊ฐ 7๊ฐ ๋จ์ ์์์ ์๋ฏธํฉ๋๋ค. ์ฆ, ๊ฐ๊ฐ์ ์์ฒญ์ 8๊ฐ์ CPU๊ฐ ์๋ 1๊ฐ์ ํฌ๋๊ฐ ์ด ๋ ธ๋์ ๋์ฐฉํ์๋ง์ ๋ง์น Kubernetes์ ๊ด์ ์์ ๋ ธ๋์ CPU๊ฐ ๋ถ์กฑํด ์์ฒญ์ด ์๋ ๋ ๋ง์ ํฌ๋๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ด ๋ ธ๋์์ ์์๋์์ต๋๋ค. ๋ชจ๋ ๋ ธ๋์ CPU๊ฐ ๋ถ์กฑํ๋ฉด Kubernetes๋ CPU๊ฐ ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ ํด๋ฌ์คํฐ์ Pod๋ฅผ ์คํํ๊ธฐ์ ์ ํฉํ ๋ ธ๋๊ฐ ์๋ค๊ณ ๋งํ๊ธฐ ์์ํฉ๋๋ค.
์์ฒญ์ด ํ์ํ ์ด์ ๋ ๋ฌด์์ด๋ฉฐ ์์ฒญ์ด ์์ผ๋ฉด Kubernetes์์ ์๋ฌด๊ฒ๋ ์์ํ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๊ฐ์์ ์ํฉ์ ์์ํด ๋ด ์๋ค. ์์ฒญ ์์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ํ๋ฉด Kubernetes๋ ์ฌ์ฉ์๊ฐ ๋ณด์ ํ ํญ๋ชฉ์ ์, ์ด๋ฅผ ํธ์ํ ์ ์๋ ๋ ธ๋๋ฅผ ์์ง ๋ชปํฉ๋๋ค. ๊ธ์, ๊ทธ๋ ๋ ธ๋๋ฅผ ๋ฐ๊ณ , ๋ฐ๊ณ , ๋ฐ์์ต๋๋ค. ์ด๋ ์์ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ํธ๋ํฝ์ด ๋ฐ์ํ๊ธฐ ์์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ฉ ํ๋ก๊ทธ๋จ ์ค ํ๋๊ฐ ๊ฐ์๊ธฐ ์ ํ์ ๋ฐ๋ฅธ ์ ํ๊น์ง ๋ฆฌ์์ค๋ฅผ ์ฌ์ฉํ๊ธฐ ์์ํฉ๋๋ค. ๊ทผ์ฒ์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๊ณ ๋ฆฌ์์ค๋ ํ์ํ๋ค๋ ๊ฒ์ด ๋ฐํ์ก์ต๋๋ค. ์ค์ ๋ก ๋ ธ๋์๋ OP์ ๊ฐ์ ๋ฆฌ์์ค๊ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ถ์กฑํด์ง๊ธฐ ์์ํฉ๋๋ค. ์ค์ ๋ก ๋ ธ๋์๋ RAM(Random Access Memory)๊ณผ ๊ฐ์ ๋ฆฌ์์ค๊ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ๋ถ์กฑํด์ง๊ธฐ ์์ํฉ๋๋ค. ๋ ธ๋์ ์ ์์ด ๋ถ์กฑํด์ง๋ฉด ๋จผ์ docker๊ฐ ์๋ต์ ๋ฉ์ถ๊ณ ๊ทธ ๋ค์์๋ ํ๋ธ๋ , OS๊ฐ ์๋ต์ ๋ฉ์ถฅ๋๋ค. ๊ทธ๋ค์ ๋จ์ํ ์์์ ์์ ๊ฒ์ด๊ณ ๋ชจ๋ ๊ฒ์ด ํ์คํ ๋น์ ์ ์ํด ์๋ํ์ง ์์ ๊ฒ์ ๋๋ค. ์ฆ, ์ด๋ก ์ธํด ๋ ธ๋๊ฐ ์ค๋จ๋๊ณ ๋ค์ ์์ํด์ผ ํฉ๋๋ค. ํ๋ง๋๋ก ์ํฉ์ด ๋ณ๋ก ์ข์ง ์๋ค.
๊ทธ๋ฆฌ๊ณ ์์ฒญ์ด ์์ ๋ ์ ํ์ ํฌ๊ฒ ๋ค๋ฅด์ง ์์ผ๋ฉฐ ์ ์ด๋ ์ ํ์ด๋ ์์ฒญ๋ณด๋ค ๋ช ๋ฐฐ๋ ๋ง์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด Kubernetes ํด๋ฌ์คํฐ ๋ ธ๋ ์ ์ฒด์ ๊ฑธ์ณ ์ ์์ ์ด๊ณ ํฉ๋ฆฌ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ์ฐ๊ธฐ๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค. ๋์์ Kubernetes๋ ์ด๋์ ๋ฌด์์ ์ผ๋ง๋ ๋๊ณ , ์ด๋์ ๋ฌด์์ ์ฌ์ฉํ๋์ง ๋๋ต์ ์ผ๋ก ์๊ณ ์์ต๋๋ค. ์ฆ, ๋ฐ๋ก ๊ทธ๋ฐ ์๊ฐ์ด๋ค. ๊ทธ๊ฒ์ ์ดํดํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด ํ์๋๋๋ก ์ ์ดํ๋ โโ๊ฒ์ด ์ค์ํฉ๋๋ค.
๋ฐ์ดํฐ ์ ์ฅ
๋ค์ ์์ ์ ๋ฐ์ดํฐ ์ ์ฅ์ ๊ดํ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ๋ค๋ก ๋ฌด์์ ํด์ผ ํ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก Kubernetes์ ์ง์์ฑ์ผ๋ก ๋ฌด์์ ํด์ผ ํฉ๋๊น?
๋ด ์๊ฐ์ ๋ค์ ์ฐ๋ฆฌ ๋ด๋ถ์์
์ฌ๊ธฐ์์ ๋ ผ๋ฆฌ๋ ๊ฐ๋จํฉ๋๋ค. ๋ง์ผ์ ๋๋นํด ๋ค์ ํ ๋ฒ ์ค๋ช ํ๊ฒ ์ต๋๋ค. ๋ถ์ฐ ๋คํธ์ํฌ ์คํ ๋ฆฌ์ง์ ๋ด๊ฒฐํจ์ฑ ์์คํ ์ ๊ตฌ์ถํ ์ ์๋ ์ ๋ง ๋ฉ์ง ์ฌ๋์ด๋ผ๋ฉด ์ด ๊ฒฝ์ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง์ถ๋ ๋ฐฉ๋ฒ๊ณผ ์ปจํ ์ด๋์ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ๊ฐ ์ด๋ป๊ฒ ์๋ํด์ผ ํ๋์ง ์ดํดํ์ธ์. ์ผ๋ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์์. ์๋ง๋ ์คํ ๋ฐฉ๋ฒ์ ๋ํด์๋ ์๋ฌธ์ ์ฌ์ง๊ฐ ์์ต๋๋ค. ๊ทธ๋ฌํ ์ง๋ฌธ์ด ์๊ณ ๋ชจ๋ ๊ฒ์ด ํผ์ณ์ง๊ณ ์์ฐ ๊ณผ์ ์์ ๋ฐ๋ก ์ธ์์ง๊ณ ์ ๋ ๋จ์ด์ง์ง ์๋์ง ํ์ธํ๊ณ ์ถ๋ค๋ฉด ์ด๋ฐ ์ผ์ด ๋ฐ์ํ์ง ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ๋ฐ์ ์ด์ ์ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ์ฅํ๋ ค๋ ๋ฐ์ดํฐ, ์ฌ์ฉ์๊ฐ ์ ๋ก๋ํ๋ ์ผ๋ถ ์ฌ์ง, ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๋ํ๋ ๋์(์: ์์ ์) ์์ฑํ๋ ์ผ๋ถ ํญ๋ชฉ์ผ๋ก ๋ฌด์์ ํด์ผ ํ ๊น์? Kubernetes์์ ์ด๋ฅผ ์ด๋ป๊ฒ ์ฒ๋ฆฌํด์ผ ํ ๊น์?
์ผ๋ฐ์ ์ผ๋ก ์ด์์ ์ผ๋ก๋ ๋ฌผ๋ก ์ ๋๋ค. Kubernetes๋ ๋งค์ฐ ์ ์ค๊ณ๋์์ผ๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ์ฒ์์๋ ์ํ ๋น์ ์ฅ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ์ผ๋ก ๊ณ ์๋์์ต๋๋ค. ์ฆ, ์ ๋ณด๋ฅผ ์ ํ ์ ์ฅํ์ง ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฒฝ์ฐ์ ๋๋ค. ์ด๊ฒ์ด ์ด์์ ์ ๋๋ค.
๊ทธ๋ฌ๋ ๋ฌผ๋ก ์ด์์ ์ธ ์ ํ์ด ํญ์ ์กด์ฌํ๋ ๊ฒ์ ์๋๋๋ค. ๊ทธ๋์ ๋ญ? ์ฒซ ๋ฒ์งธ์ด์ ๊ฐ์ฅ ๊ฐ๋จํ ์์ ์ ์ง์์ ๋ง๋ ๊ฒ์ด ์๋๋ผ ์๋ ๋ฐฉ์๋ ๋ถ๋ถ๋ช ํ์ง๋ง ์ผ๋ถ ๊ณต๊ธ์๊ฐ ์ ๊ณตํ๋ ์ผ์ข ์ S3๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ํ๋ฅญํ๊ณ ์ ์์ ์ธ ๊ณต๊ธ์์ด๋ฉฐ ์ ํ๋ฆฌ์ผ์ด์ ์ S3๋ฅผ ์ฌ์ฉํ๋๋ก ๊ฐ๋ฅด์นฉ๋๋ค. ์ฆ, ์ฌ์ฉ์๊ฐ ํ์ผ์ ์ ๋ก๋ํ๊ณ ์ถ์ ๋ "์ฌ๊ธฐ์ S3์ ์ ๋ก๋ํด ์ฃผ์ธ์."๋ผ๊ณ ๋งํฉ๋๋ค. ๊ทธ๊ฐ ๊ทธ๊ฒ์ ๋ฐ๊ณ ์ถ์ ๋, "์ฌ๊ธฐ S3๋ก ๋์๊ฐ๋ ๋งํฌ๊ฐ ์์ผ๋ ์ฌ๊ธฐ์์ ๊ฐ์ ธ๊ฐ์ธ์."๋ผ๊ณ ๋งํ์ธ์. ์ด๊ฒ์ด ์ด์์ ์ ๋๋ค.
์ด๋ค ์ด์ ๋ก ๊ฐ์๊ธฐ ์ด ์ด์์ ์ธ ์ต์ ์ด ์ ํฉํ์ง ์๊ฑฐ๋ ์์ฑํ์ง ์์๊ฑฐ๋ ๊ฐ๋ฐํ์ง ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์๊ฑฐ๋ ์ผ์ข ์ ๋์ฐํ ์ ์ฐ์ธ ๊ฒฝ์ฐ S3 ํ๋กํ ์ฝ์ ์ฌ์ฉํ ์ ์์ง๋ง ๋ก์ปฌ ๋๋ ํฐ๋ฆฌ์ ํจ๊ป ์๋ํด์ผ ํฉ๋๋ค. ๋ก์ปฌ ํด๋. ๋ค์ ๊ฐ๋จํ ์์ ์ ํตํด Kubernetes๋ฅผ ๋ฐฐํฌํด ๋ณด์ธ์. ์ฆ, ์ต์ํ์ ์์ ์ ์ํด Ceph๋ฅผ ์ฆ์ ํ์ฑํ๋ ๊ฒ์ ๋์ ์๊ฐ์ธ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฌผ๋ก Ceph๋ ํ๋ฅญํ๊ณ ํจ์ ๋๋ธํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ง๋ง ์์ ์ด ํ๊ณ ์๋ ์ผ์ ์ค์ ๋ก ์ดํดํ์ง ๋ชปํ๋ค๋ฉด ์ผ๋จ Ceph์ ๋ฌด์ธ๊ฐ๋ฅผ ๋ฃ์ผ๋ฉด ์์ฃผ ์ฝ๊ฒ ๋ค์๋ ๊บผ๋ด์ง ๋ชปํ ์ ์์ต๋๋ค. ์์๋ค์ํผ Ceph๋ ํด๋ฌ์คํฐ์ ๋ฐ์ดํฐ๋ฅผ ๋จ์ ํ์ผ ํ์์ด ์๋ ๋ฐ์ด๋๋ฆฌ ํ์์ผ๋ก ์ ์ฅํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๊ฐ์๊ธฐ Ceph ํด๋ฌ์คํฐ๊ฐ ์ค๋จ๋๋ฉด ๋ค์๋ Ceph ํด๋ฌ์คํฐ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค์ง ๋ชปํ ๊ฐ๋ฅ์ฑ์ด ์์ ํ๊ณ ๋์ต๋๋ค.
์ฐ๋ฆฌ๋ Ceph์ ๋ํ ๊ฐ์ข๋ฅผ ๊ฐ์ง ๊ฒ์
๋๋ค.
๋ฐ๋ผ์ NFS ์๋ฒ์ฒ๋ผ ๊ฐ๋จํ ์์ ์ ์ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค. Kubernetes๋ ์ด๋ค๊ณผ ํจ๊ป ์์ ํ ์ ์์ผ๋ฉฐ NFS ์๋ฒ ์๋์ ๋๋ ํฐ๋ฆฌ๋ฅผ ๋ง์ดํธํ ์ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ก์ปฌ ๋๋ ํฐ๋ฆฌ์ ๊ฐ์ต๋๋ค. ๋์์, ๋น์ฐํ NFS๋ก ๋ญ๊ฐ๋ฅผ ํด์ผ ํ๋ค๋ ์ ์ ์ดํดํด์ผ ํ๋ฉฐ ๋๋ก๋ ์ก์ธ์คํ ์ ์๊ฒ ๋ ์๋ ์๋ค๋ ์ ์ ์ดํดํ๊ณ ์ด ๊ฒฝ์ฐ ๋ฌด์์ ํ ๊ฒ์ธ์ง์ ๋ํ ์ง๋ฌธ์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์๋ง๋ ๋ณ๋์ ์์คํ ์ด๋๊ฐ์ ๋ฐฑ์ ๋์ด์ผ ํ ๊ฒ์ ๋๋ค.
์ ๊ฐ ์ด์ผ๊ธฐํ ๋ค์ ์์ ์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์๋ ์ค์ ์ผ๋ถ ํ์ผ์ ์์ฑํ๋ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ํด์ผ ํ๋์ง์ ๋ํ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์์ ์์๋ง ์์ ํ๋ ์ผ๋ถ ์ ๋ณด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ผ๋ถ ์ ์ ํ์ผ์ ์์ฑํฉ๋๋ค. ์ ๋ง ์๊ฐ์ ๋๋ค. ๊ทธ๋ฌํ ๋ฐ์ดํฐ๊ฐ ๋ง์ง ์์ผ๋ฉด ์ ํ ๊ท์ฐฎ๊ฒ ํ ํ์๊ฐ ์์ต๋๋ค. ์ด ์์ฉ ํ๋ก๊ทธ๋จ์ ์ง์ ์ค์นํ๊ณ ์์ ํ์ญ์์ค. ์ฌ๊ธฐ์ ์ ์ผํ ์ง๋ฌธ์ ๋ฌด์์ ๋๊น? WordPress ๋ฑ๊ณผ ๊ฐ์ ๋ชจ๋ ์ข ๋ฅ์ ๋ ๊ฑฐ์ ์์คํ , ํนํ ์๋ฆฌํ ํ๋ฌ๊ทธ์ธ์ ์์ ํ ์๋ฆฌํ PHP ๊ฐ๋ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์ค์ค๋ก ์ผ์ข ์ ํ์ผ์ ์์ฑํ๋๋ก ๋ง๋๋ ๋ฐฉ๋ฒ์ ์๊ณ ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ๋ฐ๋ผ์ ํ๋๋ ํ๋์ ํ์ผ์ ์์ฑํ๊ณ ๋ ๋ฒ์งธ๋ ๋ ๋ฒ์งธ ํ์ผ์ ์์ฑํฉ๋๋ค. ๊ทธ๋ค์ ๋ค๋ฅด๋ค. ๊ท ํ์ ํด๋ผ์ด์ธํธ์ Kubernetes ํด๋ฌ์คํฐ์์ ์ฐ์ฐํ ๋ฐ์ํฉ๋๋ค. ๋ฐ๋ผ์ ๊ทธ๋ค์ ์๋ฅผ ๋ค์ด ํจ๊ป ์ผํ๋ ๋ฐฉ๋ฒ์ ๋ชจ๋ฅด๋ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. ํ๋๋ ํ๋์ ์ ๋ณด๋ฅผ ์ ๊ณตํ๊ณ ๋ค๋ฅธ ํ๋๋ ์ฌ์ฉ์์๊ฒ ๋ค๋ฅธ ์ ๋ณด๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๊ฒ์ ํผํด์ผ ํ ๊ฒ์ ๋๋ค. ์ฆ, Kubernetes์์๋ ์คํํ๋ ๋ชจ๋ ๊ฒ์ด ์ฌ๋ฌ ์ธ์คํด์ค์์ ์๋ํ ์ ์๋๋ก ๋ณด์ฅ๋ฉ๋๋ค. Kubernetes๋ ์์ง์ด๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๊ทธ๋ ๋๊ตฌ์๊ฒ๋ ๋ฌป์ง ์๊ณ ๋ ์ํ ๋๋ง๋ค ๋ฌด์์ด๋ ์ฎ๊ธธ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ฏ๋ก ์ด๊ฒ์ ๋ฏฟ์ ํ์๊ฐ ์์ต๋๋ค. ํ ์ธ์คํด์ค์์ ์์๋ ๋ชจ๋ ๊ฒ์ ์กฐ๋ง๊ฐ ์คํจํ ๊ฒ์ ๋๋ค. ์์ฝ์ ๋ง์์๋ก ์ข์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ค์ ํ ๋ฒ ๋งํ์ง๋ง, ๊ทธ๋ฌํ ํ์ผ์ด ๋ช ๊ฐ ์์ผ๋ฉด ๋ฐ๋ก ์๋์ ๋์ ์ ์์ผ๋ฉฐ ๋ฌด๊ฒ๋ ์ ์ต๋๋ค. ์กฐ๊ธ ๋ ์์ผ๋ฉด ์ฉ๊ธฐ ์์ผ๋ก ๋ฐ์ด ๋ฃ์ผ๋ฉด ์ ๋ฉ๋๋ค.
Kubernetes์๋ ๋ณผ๋ฅจ์ ์ฌ์ฉํ ์ ์๋ ๋ฉ์ง ๊ธฐ๋ฅ์ด ์๋ค๊ณ ์กฐ์ธํ๊ณ ์ถ์ต๋๋ค. ํนํ, ๋น dir ์ ํ์ ๋ณผ๋ฅจ์ด ์์ต๋๋ค. ์ฆ, Kubernetes๋ ์ฌ์ฉ์๊ฐ ์์ํ ์๋ฒ์ ์๋น์ค ๋๋ ํฐ๋ฆฌ์ ๋๋ ํฐ๋ฆฌ๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ถ์ ๋น์ ์ด ๊ทธ๊ฒ์ ์ฌ์ฉํ ์ ์๋๋ก ๊ทธ๊ฒ์ ๋น์ ์๊ฒ ์ฃผ์ค ๊ฒ์ ๋๋ค. ์ค์ํ ์ ์ ํ๋๋ฟ์ ๋๋ค. ์ฆ, ๋ฐ์ดํฐ๋ ์ปจํ ์ด๋ ๋ด๋ถ์ ์ ์ฅ๋์ง ์๊ณ ์คํ ์ค์ธ ํธ์คํธ์ ์ ์ฅ๋ฉ๋๋ค. ๋ํ Kubernetes๋ ์ผ๋ฐ ๊ตฌ์ฑ์์ ์ด๋ฌํ ๋น ๋๋ ํ ๋ฆฌ๋ฅผ ์ ์ดํ ์ ์์ผ๋ฉฐ ์ต๋ ํฌ๊ธฐ๋ฅผ ์ ์ดํ๊ณ ์ด๋ฅผ ์ด๊ณผํ๋ ๊ฒ์ ํ์ฉํ์ง ์์ต๋๋ค. ์ ์ผํ ์์ ์ ๋น ๋๋ ํ ๋ฆฌ์ ์์ฑํ ๋ด์ฉ์ด ํฌ๋๋ฅผ ๋ค์ ์์ํ๋ ๋์ ์์ค๋์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ์ฆ, Pod๊ฐ ์ค์๋ก ๋จ์ด์ก๋ค๊ฐ ๋ค์ ์ฌ๋ผ๊ฐ๋ฉด ๋น ๋๋ ํ ๋ฆฌ์ ์ ๋ณด๋ ์๋ฌด๋ฐ๋ ๊ฐ์ง ์์ต๋๋ค. ๊ทธ๋ ์๋ก์ด ์์์์ ๊ทธ๊ฒ์ ๋ค์ ์ฌ์ฉํ ์ ์๊ณ ๊ทธ๊ฒ์ ์ข์ต๋๋ค. ๊ทํ์ ํฌ๋๊ฐ ์ด๋๊ฐ๋ก ๋ ๋๋ฉด ๋น์ฐํ ๋ฐ์ดํฐ๋ ์์ด ๋ ๋ ๊ฒ์ ๋๋ค. ์ฆ, ๋น dir๋ก ์์๋ ๋ ธ๋์ Pod๊ฐ ์ฌ๋ผ์ง์๋ง์ ๋น dir์ด ์ญ์ ๋ฉ๋๋ค.
๋น ๋๋ ํ ๋ฆฌ์ ๋ ๋ค๋ฅธ ์ฅ์ ์ ๋ฌด์์ ๋๊น? ์๋ฅผ ๋ค์ด ์บ์๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฆ์์์ ๋ฌด์ธ๊ฐ๋ฅผ ์์ฑํ๊ณ , ์ด๋ฅผ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๊ณ , ์ค๋ซ๋์ ์ํํ๋ค๊ณ ์์ํด ๋ด ์๋ค. ๋ฐ๋ผ์ ์๋ฅผ ๋ค์ด ์ ํ๋ฆฌ์ผ์ด์ ์ ์ด๋ฅผ ์์ฑํ์ฌ ์ฌ์ฉ์์๊ฒ ์ ๊ณตํ๋ ๋์์ ์ด๋๊ฐ์ ์ ์ฅํ๋ฏ๋ก ๋ค์์ ์ฌ์ฉ์๊ฐ ๋์ผํ ๊ฒ์ ์ํด ์ฌ ๋ ์ฆ์ ์์ฑํ์ฌ ์ ๊ณตํ๋ ๊ฒ์ด ๋ ๋น ๋ฅผ ๊ฒ์ ๋๋ค. ๋น ๋๋ ํ ๋ฆฌ๋ฅผ Kubernetes์ ์์ฒญํ์ฌ ๋ฉ๋ชจ๋ฆฌ์ ์์ฑํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์บ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋์คํฌ ์ก์ธ์ค ์๋ ์ธก๋ฉด์์ ๋งค์ฐ ๋น ๋ฅธ ์๋๋ก ์๋ํ ์ ์์ต๋๋ค. ์ฆ, ๋ฉ๋ชจ๋ฆฌ์ ๋น ๋๋ ํ ๋ฆฌ๊ฐ ์๊ณ OS์์๋ ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋์ง๋ง Pod ๋ด๋ถ์ ์ฌ์ฉ์์๊ฒ๋ ๋ก์ปฌ ๋๋ ํ ๋ฆฌ์ฒ๋ผ ๋ณด์ ๋๋ค. ํน๋ณํ ๋ง์ ์ ๊ฐ๋ฅด์น๊ธฐ ์ํด ์ฑ์ด ํ์ํ์ง ์์ต๋๋ค. ํ์ผ์ ์ง์ ๊ฐ์ ธ์ ๋๋ ํ ๋ฆฌ์ ๋ฃ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ์ค์ ๋ก๋ OS์ ๋ฉ๋ชจ๋ฆฌ์ ์์ต๋๋ค. ์ด๋ ์ฟ ๋ฒ๋คํฐ์ค ์ธก๋ฉด์์๋ ๋งค์ฐ ํธ๋ฆฌํ ๊ธฐ๋ฅ์ด๋ค.
๋ฏธ๋์ค์๋ ์ด๋ค ๋ฌธ์ ๊ฐ ์๋์? Minio์ ๊ฐ์ฅ ํฐ ๋ฌธ์ ์ ์ ์ด ๊ธฐ๋ฅ์ด ์๋ํ๋ ค๋ฉด ์ด๋๊ฐ์์ ์คํ๋๊ณ ์์ด์ผ ํ๋ฉฐ ์ผ์ข ์ ํ์ผ ์์คํ , ์ฆ ์คํ ๋ฆฌ์ง๊ฐ ์์ด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ์ฐ๋ฆฌ๋ Ceph์ ๋์ผํ ๋ฌธ์ ์ ์ง๋ฉดํฉ๋๋ค. ์ฆ, Minio๋ ํ์ผ์ ์ด๋๊ฐ์ ์ ์ฅํด์ผ ํฉ๋๋ค. ์ด๋ ๋จ์ํ ํ์ผ์ ๋ํ HTTP ์ธํฐํ์ด์ค์ ๋๋ค. ๋์ฑ์ด ๊ธฐ๋ฅ์ Amazon S3์ ๋นํด ํ์คํ ๋จ์ด์ง๋๋ค. ์ด์ ์๋ ์ฌ์ฉ์์๊ฒ ์ ๋๋ก ๊ถํ์ ๋ถ์ฌํ ์ ์์์ต๋๋ค. ์ด์ ์ ๊ฐ ์๋ ํ ์ด๋ฏธ ๋ค๋ฅธ ์ธ์ฆ์ ์ฌ์ฉํ์ฌ ๋ฒํท์ ์์ฑํ ์ ์์ง๋ง, ๋ค์ ๋งํด ์ฃผ์ ๋ฌธ์ ๋ ๋งํ์๋ฉด ์ต์ํ ๊ธฐ๋ณธ ์คํ ๋ฆฌ์ง ์์คํ ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
๋ฉ๋ชจ๋ฆฌ์ ๋น ๋๋ ํ ๋ฆฌ๋ ์ ํ์ ์ด๋ค ์ํฅ์ ์ค๋๊น? ์ด๋ค ์์ผ๋ก๋ ํ๋์ ์ํฅ์ ๋ฏธ์น์ง ์์ต๋๋ค. ์ด๋ ์ปจํ ์ด๋์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ์๋ ํธ์คํธ์ ๋ฉ๋ชจ๋ฆฌ์ ์์ต๋๋ค. ์ฆ, ์ปจํ ์ด๋๋ ๋ฉ๋ชจ๋ฆฌ์ ๋น ๋๋ ํ ๋ฆฌ๋ฅผ ์ ์ ๋ ๋ฉ๋ชจ๋ฆฌ์ ์ผ๋ถ๋ก ๋ณด์ง ์์ต๋๋ค. ํธ์คํธ๊ฐ ์ด๊ฒ์ ๋ด ๋๋ค. ๋ฐ๋ผ์, ๋ค, ์ฟ ๋ฒ๋คํฐ์ค์ ๊ด์ ์์ ์ด๊ฒ์ ์ฌ์ฉํ๊ธฐ ์์ํ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์ผ๋ถ๋ฅผ dir์ ๋น์ฐ๋ ๋ฐ ํ ์ ํ๊ณ ์๋ค๋ ์ ์ ์ดํดํ๋ ๊ฒ์ด ์ข์ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์์ฉ ํ๋ก๊ทธ๋จ๋ฟ๋ง ์๋๋ผ ๋๊ตฐ๊ฐ๊ฐ ์ด๋ฌํ ๋น ๋๋ ํ ๋ฆฌ์ ์ฐ๊ธฐ ๋๋ฌธ์ ๋ฉ๋ชจ๋ฆฌ๊ฐ ๋ถ์กฑํ ์ ์๋ค๋ ์ ์ ์ดํดํ์ญ์์ค.
ํด๋ผ์ฐ๋ ๊ณ ์ ์ฑ
๋ง์ง๋ง ํ์ ์ฃผ์ ๋ Cloudnative๊ฐ ๋ฌด์์ธ์ง์ ๋๋ค. ์ ํ์ํ๊ฐ์? ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ์ฑ ๋ฑ.
์ฆ, ์ต์ ํด๋ผ์ฐ๋ ์ธํ๋ผ์์ ์๋ํ ์ ์๊ณ ์์ฑ๋๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋๋ค. ํ์ง๋ง ์ฌ์ค ํด๋ผ์ฐ๋๋ค์ดํฐ๋ธ์๋ ๊ทธ๋ฐ ์ธก๋ฉด์ด ๋ ์์ต๋๋ค. ์ด๋ ์ต์ ํด๋ผ์ฐ๋ ์ธํ๋ผ์ ๋ชจ๋ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํ ๋ฟ๋ง ์๋๋ผ ์ด ์ต์ ํด๋ผ์ฐ๋ ์ธํ๋ผ๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ๋ ์๊ณ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด๋ฏ๋ก ์ด๋ฌํ ํด๋ผ์ฐ๋์์ ์๋ํ๋ค๋ ์ฌ์ค์ ์ฅ๋จ์ ์ ํ์ฉํ์ธ์. ๋๋ฌด ๊ณผํ๊ฒ ํด๋ผ์ฐ๋์์ ์์ ํ์ง ๋ง๊ณ ํด๋ผ์ฐ๋ ์์ ์ ์ด์ ์ ํ์ฉํ์ธ์.
Kubernetes๋ฅผ ์๋ก ๋ค์ด๋ณด๊ฒ ์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ด Kubernetes์์ ์คํ ์ค์ ๋๋ค. ๊ทํ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ธ์ ๋ ์ง, ๋๋ ์คํ๋ ค ์ ํ๋ฆฌ์ผ์ด์ ๊ด๋ฆฌ์๊ฐ ํญ์ ์๋น์ค ๊ณ์ ์ ์์ฑํ ์ ์์ต๋๋ค. ์ฆ, ์๋ฒ์ ์๋ Kubernetes ์์ฒด์ ์ธ์ฆ์ ์ํ ๊ณ์ ์ ๋๋ค. ๊ฑฐ๊ธฐ์ ํ์ํ ๋ช ๊ฐ์ง ๊ถํ์ ์ถ๊ฐํ์ธ์. ๊ทธ๋ฆฌ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ๋ด์์ Kubernetes์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ฌด์์ ํ ์ ์๋์? ์๋ฅผ ๋ค์ด, ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ค๋ฅธ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ ์ฌํ ์ธ์คํด์ค๊ฐ ์๋ ์์น์ ๋ํ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ณ , ํ์ํ ๊ฒฝ์ฐ ์ด๋ป๊ฒ๋ Kubernetes ์์ ํจ๊ป ํด๋ฌ์คํฐ๋งํฉ๋๋ค.
๋ค์ ๋งํ์ง๋ง, ์ต๊ทผ์ ๋ฌธ์ ๊ทธ๋๋ก ์ฌ๊ฑด์ด ๋ฐ์ํ์ต๋๋ค. ๋๊ธฐ์ด์ ๋ชจ๋ํฐ๋งํ๋ ์ปจํธ๋กค๋ฌ๊ฐ ํ๋ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋๊ธฐ์ด์ ์๋ก์ด ์์ ์ด ๋ํ๋๋ฉด Kubernetes๋ก ์ด๋ํ๊ณ Kubernetes ๋ด๋ถ์์ ์ ํฌ๋๋ฅผ ์์ฑํฉ๋๋ค. ์ด Pod์ ๋ช ๊ฐ์ง ์๋ก์ด ์์ ์ ์ ๊ณตํ๊ณ ์ด Pod์ ํ๋ ์์ํฌ ๋ด์์ Pod๋ ์์ ์ ์ํํ๊ณ ์ปจํธ๋กค๋ฌ ์์ฒด์ ์๋ต์ ๋ณด๋ด๊ณ ์ปจํธ๋กค๋ฌ๋ ์ด ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ์์ ์ ์ํํฉ๋๋ค. ์๋ฅผ ๋ค์ด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ถ๊ฐํฉ๋๋ค. ์ฆ, ์ด๋ ์ฐ๋ฆฌ ์ ํ๋ฆฌ์ผ์ด์ ์ด Kubernetes์์ ์คํ๋๋ค๋ ์ฌ์ค์ ์ฅ์ ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ฅ์ ์ด๋ป๊ฒ๋ ํ์ฅํ๊ณ ๋์ฑ ํธ๋ฆฌํ๊ฒ ๋ง๋ค๊ธฐ ์ํด ๋ด์ฅ๋ Kubernetes ๊ธฐ๋ฅ ์์ฒด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฆ, ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ํ๋ ๋ฐฉ๋ฒ, ์์ ์๋ฅผ ์์ํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ผ์ข ์ ๋ง๋ฒ์ ์จ๊ธฐ์ง ๋ง์ญ์์ค. Kubernetes์์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด Python์ผ๋ก ์์ฑ๋ ๊ฒฝ์ฐ ์ฑ์์ ์์ฒญ์ ๋ณด๋ด๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
Kubernetes๋ฅผ ๋์ด์๋ ๊ฒฝ์ฐ์๋ ๋ง์ฐฌ๊ฐ์ง์ ๋๋ค. Kubernetes๊ฐ ์ด๋๊ฐ์์ ์คํ๋๊ณ ์์ต๋๋ค. ์ผ์ข ์ ํด๋ผ์ฐ๋์ ์์ผ๋ฉด ์ข์ต๋๋ค. ๋ค์ ํ๋ฒ ๋งํ์ง๋ง, ์ฐ๋ฆฌ๊ฐ ์คํ ์ค์ธ ํด๋ผ์ฐ๋ ์์ฒด์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์๊ณ ์ฌ์ฉํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํด๋ผ์ฐ๋๊ฐ ์ฐ๋ฆฌ์๊ฒ ์ ๊ณตํ๋ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ค๋ถํฐ. ๋ฐธ๋ฐ์ฑ, ์ฆ ํด๋ผ์ฐ๋ ๋ฐธ๋ฐ์๋ฅผ ์์ฑํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ ์ ์๋ ๊ฒ์ ์ง์ ์ ์ธ ์ด์ ์ ๋๋ค. ์ฒซ์งธ, ํด๋ผ์ฐ๋ ๋ฐธ๋ฐ์ฑ์ ์๋ ๋ฐฉ์, ๊ตฌ์ฑ ๋ฐฉ์์ ๋ํ ์ฑ ์์ ์ด๋ฆฌ์๊ฒ ์ ๊ฑฐํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ฒ๋ค๊ฐ ์ผ๋ฐ Kubernetes๋ ํด๋ผ์ฐ๋์ ํตํฉ๋ ์ ์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค.
์ค์ผ์ผ๋ง๋ ๋ง์ฐฌ๊ฐ์ง๋ค. ์ผ๋ฐ Kubernetes๋ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด์ ํตํฉํ ์ ์์ต๋๋ค. ํด๋ฌ์คํฐ์ ๋ ธ๋๊ฐ ๋ถ์กฑํ ๊ฒฝ์ฐ, ์ฆ ๋ ธ๋ ๊ณต๊ฐ์ด ๋ถ์กฑํ ๊ฒฝ์ฐ ์ถ๊ฐํด์ผ ํ๋ค๋ ์ ์ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ์๊ณ ์์ต๋๋ค. Kubernetes ์์ฒด๊ฐ ํด๋ฌ์คํฐ์ ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๊ณ ํด๋น ๋ ธ๋์์ ํฌ๋๋ฅผ ์์ํ๊ธฐ ์์ํฉ๋๋ค. ์ฆ, ๋ถํ๊ฐ ์ค๋ฉด ๋๋ก์ ์๊ฐ ์ฆ๊ฐํ๊ธฐ ์์ํฉ๋๋ค. ์ด๋ฌํ ํฌ๋์ ๋ํ ํด๋ฌ์คํฐ์ ๋ ธ๋๊ฐ ๋ถ์กฑํด์ง๋ฉด Kubernetes๋ ์ ๋ ธ๋๋ฅผ ์์ํ๋ฏ๋ก ๊ทธ์ ๋ฐ๋ผ ํฌ๋ ์๊ฐ ๊ณ์ ๋์ด๋ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋งค์ฐ ํธ๋ฆฌํฉ๋๋ค. ์ด๋ ์ฆ์์์ ํด๋ฌ์คํฐ๋ฅผ ํ์ฅํ ์ ์๋ ์ง์ ์ ์ธ ๊ธฐํ์ ๋๋ค. ๊ทธ๋ค์ง ๋น ๋ฅด์ง๋ ์์ต๋๋ค. XNUMX์ด๊ฐ ์๋๋ผ๋ ์ ์์ ์ ๋ ธ๋๋ฅผ ์ถ๊ฐํ๋ ๋ฐ๋ XNUMX๋ถ์ ๊ฐ๊น์ต๋๋ค.
ํ์ง๋ง ๋ด ๊ฒฝํ์ ๋ฐ๋ฅด๋ฉด, ๊ทธ๊ฒ์ ๋ด๊ฐ ๋ณธ ๊ฒ ์ค ๊ฐ์ฅ ๋ฉ์ง ๊ฒ์ ๋๋ค. Cloudnative ํด๋ฌ์คํฐ๊ฐ ์๊ฐ์ ๊ธฐ์ค์ผ๋ก ํ์ฅ๋ ๊ฒฝ์ฐ. ๋ฐฑ์คํผ์ค์ ์๋ ์ฌ๋๋ค์ด ์ฌ์ฉํ๋ ๋ฐฑ์๋ ์๋น์ค์์ต๋๋ค. ์ฆ, ๊ทธ๋ค์ ์ค์ 9์์ ์ถ๊ทผํ์ฌ ์์คํ ์ ๋ก๊ทธ์ธํ๊ธฐ ์์ํ๊ณ ๊ทธ์ ๋ฐ๋ผ ๋ชจ๋ ์คํ๋๊ณ ์๋ Cloudnative ํด๋ฌ์คํฐ๊ฐ ๋ถํ์ด ์ค๋ฅด๊ธฐ ์์ํ์ฌ ์ถ๊ทผํ๋ ๋ชจ๋ ์ฌ๋์ด ์ ํ๋ฆฌ์ผ์ด์ ์ผ๋ก ์์ ํ ์ ์๋๋ก ์ ํฌ๋๋ฅผ ์์ํฉ๋๋ค. ์คํ 8์ ๋๋ 6์์ ํด๊ทผํ๋ฉด Kubernetes ํด๋ฌ์คํฐ๋ ๋ ์ด์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๋ ์ฌ๋์ด ์๋ค๋ ๊ฒ์ ์์์ฐจ๋ฆฌ๊ณ ํฌ๊ธฐ๊ฐ ์ค์ด๋ค๊ธฐ ์์ํฉ๋๋ค. ์ต๋ 30%์ ์ ๊ฐ์ด ๋ณด์ฅ๋ฉ๋๋ค. ๋น์ ์๋ง์กด์์๋ ํจ๊ณผ๊ฐ ์์์ง๋ง ๋น์ ๋ฌ์์์๋ ๊ทธ๋ ๊ฒ ์ํ ์ ์๋ ์ฌ๋์ด ์์์ต๋๋ค.
์์งํ ๋ง์๋๋ฆฌ์๋ฉด, Kubernetes๋ฅผ ์ฌ์ฉํ๊ณ ํด๋ผ์ฐ๋ ๊ธฐ๋ฅ์ ํ์ฉํ๊ธฐ ๋๋ฌธ์ ๋น์ฉ์ด 30% ์ ๊ฐ๋ฉ๋๋ค. ์ด์ ์ด๊ฒ์ ๋ฌ์์์์๋ ๊ฐ๋ฅํฉ๋๋ค. ๋ฌผ๋ก ์๋ฌด์๊ฒ๋ ๊ด๊ณ ํ์ง๋ ์๊ฒ ์ต๋๋ค. ํ์ง๋ง ์ด๋ฅผ ์ํํ ์ ์๋ ์ ๊ณต์ ์ฒด๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ฆ์ ๋ฒํผ์ ์ฌ์ฉํ์ฌ ๊ด๊ณ ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
๋ง์ง๋ง์ผ๋ก ์ฌ๋ฌ๋ถ์ ๊ด์ฌ์ ๋๊ณ ์ถ์ ์ ์ด ํ๋ ์์ต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ , ์ธํ๋ผ๊ฐ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ๊ฐ ๋๋ ค๋ฉด ๋ง์นจ๋ด ์ฝ๋ํ ์ธํ๋ผ๋ผ๋ ์ ๊ทผ ๋ฐฉ์์ ์ฑํํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ ๋๋ค. ์ฆ, ์ ํ๋ฆฌ์ผ์ด์ ๋๋ ์ธํ๋ผ๊ฐ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ์ ์ ํํ ๋์ผํ ๋ฐฉ์์ผ๋ก ํ์ํ๋ค๋ ์๋ฏธ์ ๋๋ค. ์ฝ๋ ์ ํ๋ฆฌ์ผ์ด์ , ๋น์ฆ๋์ค ๋ก์ง์ ์ฝ๋ ํ์์ผ๋ก ์ค๋ช ํ์ญ์์ค. ์ฝ๋๋ก ์์ ํฉ๋๋ค. ์ฆ, ํ ์คํธํ๊ณ , ์ถ์ํ๊ณ , git์ ์ ์ฅํ๊ณ , CICD๋ฅผ ์ ์ฉํฉ๋๋ค.
์ด๊ฒ์ด ๋ฐ๋ก ๊ทํ๊ฐ ์ธํ๋ผ๋ฅผ ํญ์ ์ ์ดํ๊ณ ํ์ฌ ์ํ๋ฅผ ํญ์ ์ดํดํ ์ ์๊ฒ ํด์ฃผ๋ ๊ฒ์ ๋๋ค. ๋์งธ, ์ค๋ฅ๋ฅผ ์ผ์ผํค๋ ์๋ ์์ ์ ํผํ์ญ์์ค. ์ ์งธ, ๋์ผํ ์๋ ์์ ์ ์ง์์ ์ผ๋ก ์ํํด์ผ ํ๋ ๊ฒฝ์ฐ ๋จ์ํ ์ด์ง๋ฅ ์ ํผํ์ญ์์ค. ๋ท์งธ, ์ฅ์ ๋ฐ์ ์ ํจ์ฌ ๋น ๋ฅด๊ฒ ๋ณต๊ตฌํ ์ ์์ต๋๋ค. ๋ฌ์์์์๋ ๋ด๊ฐ ์ด ๋ฌธ์ ์ ๋ํด ์ด์ผ๊ธฐํ ๋๋ง๋ค โ๊ทธ๋, ๋ถ๋ช ํ์ง๋ง ์ ๊ทผ ๋ฐฉ์์ด ์์ผ๋ ๊ฐ๋จํ ๋งํด์ ์๋ฌด๊ฒ๋ ๊ณ ์น ํ์๊ฐ ์์ดโ๋ผ๊ณ ๋งํ๋ ์ฌ๋๋ค์ด ์์ฒญ๋๊ฒ ๋ง์ต๋๋ค. ํ์ง๋ง ์ฌ์ค์ด์์. ์ธํ๋ผ์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒฝ์ฐ Cloudnative ์ ๊ทผ ๋ฐฉ์์ ๊ด์ ๊ณผ ์ฝ๋ํ ์ธํ๋ผ์ ๊ด์ ์์ ๋ณด๋ฉด ์ด๋ฅผ ์์ ํ๋ ๊ฒ๋ณด๋ค ์๋ฒ์ ๊ฐ์ ๋ฌธ์ ๊ฐ ์๋ ๋ถ๋ถ์ ์ฐพ์ ์์ ํ๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค. ์๋ฒ๋ฅผ ์ญ์ ํ๊ณ ๋ค์ ์์ฑํ์ธ์. ๊ทธ๋ฆฌ๊ณ ๋๋ ์ด ๋ชจ๋ ๊ฒ์ ํ๋ณตํ ๊ฒ์ด๋ค.
์ด๋ฌํ ๋ชจ๋ ๋ฌธ์ ๋ ๋ค์์์ ๋ ์์ธํ ๋
ผ์๋ฉ๋๋ค.
์ถ์ฒ : habr.com