2014๋
, Google์ด Kubernetes๋ฅผ ์คํ์์ค๋ก ๊ณต๊ฐํ์ ๋ ์ธ์์ ์์ ํ ๋ฌ๋ผ์ก๋ค.
๋ฐฐํฌ๋ ๋ฐ๋ณต ๊ฐ๋ฅํด์ก๊ณ , ํ์ฅ์ ํ๋ ฅ์ ์ผ๋ก ์ด๋ฃจ์ด์ก์ผ๋ฉฐ, ์ฐ๋ฆฌ๋ โํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธโ๋ผ๋ ์๋ก์ด ์ธ์ด๋ฅผ ์์ ๋ฃ์๋ค.
ํ์ง๋ง 10๋
์ด ์ง๋ ์ง๊ธ, Mountain View ๋ด๋ถ์์๋ ์ ํ ๋ค๋ฅธ ๋ถ์๊ธฐ๊ฐ ๊ฐ์ง๋๊ณ ์๋ค.
์ต๊ทผ Google ๋ด๋ถ SRE Slack ๊ทธ๋ฃน์์ ์ ์ถ๋ ์ฌ๋ผ์ด๋์ ๋ด๊ธด ๋ฉ์์ง๋ ๋จ์ํ๊ณ ๋ ์ง์ค์ ์ด์๋ค.
โKubernetes๋ ์ฐ๋ฆฌ์๊ฒ ์ ๊ฐ ํจ๊ณผ๋ณด๋ค ๋ ๋ง์ ๋น์ฉ์ ๋ฐ์์ํค๊ณ ์๋ค.โ
Google์ Kubernetes๋ฅผ ๋ถ์ ํ๋ ๊ฒ์ด ์๋๋ผ, ๊ทธ๊ฒ์ด ์ฌ์ ํ ํฉ๋ฆฌ์ ์ธ ์ ํ์ธ์ง ๊ทผ๋ณธ์ ์ผ๋ก ์ฌ๊ฒํ ํ๊ณ ์๋ค.
์ค์ ๋ก Borg ํ์ ๊ฒฝ๋ ๋ฐํ์์ ์ฌ์ฉํ๋ ํ๊ณผ ์ผ๋ฐ K8s ํด๋ฌ์คํฐ๋ฅผ ์ด์ํ๋ ํ์ ์งํ๋ฅผ ๋น๊ตํ ๊ฒฐ๊ณผ๋ ์ถฉ๊ฒฉ์ ์ด๋ค.
- ๋น-K8s ํ์ ์ธํ๋ผ ๋น์ฉ์ด ํ๊ท 40% ์ ๊ฐ
- YAML ์์ฌ๊ฒฐ์ ๊ณผ์ ์ ์ ๊ฑฐํ์ ๋ ๋ฐฐํฌ ์๋๊ฐ 2๋ฐฐ ํฅ์
- ๋คํธ์ํน ๋ฐ ์ฌ์ด๋์นด ๊ด๋ จ ์์ค์ปฌ๋ ์ด์ 80% ๊ฐ์
์ด๋ฐ ๋ณํ๋ ๋จ์ํ ์ด์ ํจ์จ์ฑ์ ๋ฌธ์ ๊ฐ ์๋๋ผ, Kubernetes๋ผ๋ ํจ๋ฌ๋ค์ ์์ฒด๊ฐ ๋ค์ ์ ๊ฒ๋๊ณ ์๋ค๋ ์ ํธ๋ค.
Kubernetes๊ฐ ๋ฌด๊ฒ๊ฒ ๋๊ปด์ง๋ ์ด์ ๋ ๋ช
ํํ๋ค.
์ฒ์๋ถํฐ Google ๊ท๋ชจ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ค๊ณ๋๊ธฐ ๋๋ฌธ์ด๋ค.
ํ์ง๋ง ์ง๊ธ ๋๋ถ๋ถ์ Google ํ์ ๊ทธ๋ฐ ์์ค์ ๋ฌธ์ ๋ฅผ ๋ ์ด์ ๊ฐ์ง๊ณ ์์ง ์๋ค.
ํผ๋๋ฐฑ์์ ๋ฐ๋ณต์ ์ผ๋ก ๋ฑ์ฅํ๋ ์ธ ๊ฐ์ง ๋ถ๋ง์ด ์ด๋ฅผ ์ฆ๋ช ํ๋ค.
- YAML ์ค๋ฒํค๋ โ ์ ์ธ์ ๊ตฌ์ฑ์ ์ด์์ CRD, Helm, ํ ํ๋ฆฟ ์คํ๊ฒํฐ๋ก ๋ณ์ง๋๋ค. ๊ธฐ๋ฅ ๊ฐ๋ฐ๋ณด๋ค ํฌ๋ฆ ๋๋ฒ๊น ์ ๋ ๋ง์ ์๊ฐ์ด ์ฐ์ธ๋ค.
- ๋คํธ์ํน์ ๋ณต์ก์ฑ โ ์ฌ์ด๋์นด, ์๋น์ค ๋ฉ์, ์ธ๊ทธ๋ ์ค ์ปจํธ๋กค๋ฌ๊ฐ ์ฝํ๋ฉฐ DNS ๋ฌธ์ ๋ ๋ฐ์ด ๋๋ค.
- ํ์ฅ์ ํ์ โ ๋ฌดํ ํ์ฅ์ ๋๋ถ๋ถ์ ํ์๊ฒ ํ์ํ์ง ์์ผ๋ฉฐ, K8s ์ด์๋น๊ฐ ๊ทธ ์ด์ ์ ์ผํจ๋ค.
Google ๋ด๋ถ์ ์ผ๋ถ ํ์ ๋ ๋จ์ํ ๋ฐฉ์์ผ๋ก ์ ํํ๊ณ ์๋ค.
200์ค์ง๋ฆฌ ๋งค๋ํ์คํธ๋, ๋ณต์กํ Helm ์ฐจํธ๋ ์์ด ๋ค์๊ณผ ๊ฐ์ ๊ฐ๊ฒฐํ ์ ์ธ๋ง์ผ๋ก ์๋น์ค๋ฅผ ์ ์ํ๋ค.
CREATE SERVICE payments
IMAGE 'gcr.io/team/payments:v3'
SCALE RULES (
IF latency > 300ms THEN ADD 2 INSTANCES,
IF errors > 1% THEN ALERT 'pagerduty'
);
์ด์ ๋ณต์ก๋๊ฐ ์ค์ด๋ค๊ณ , ๋คํธ์ํน ์ด์๊ฐ ์ฌ๋ผ์ง๋ฉฐ, ๋น์ฉ๊ณผ ์๋ ๋ชจ๋ ๊ฐ์ ๋๋ค.
์ด๋ ๋จ์ํ ๋ด๋ถ ์คํ์ด ์๋๋ผ, ์ค์ผ์คํธ๋ ์ด์
๋ฐฉ์ ์์ฒด๋ฅผ ์ฌ์ค๊ณํ๊ณ ์๋ค๋ ์ ํธ๋ค.
์ด ๋ณํ๊ฐ ์ธ๋ถ ๊ธฐ์
๋ค์๊ฒ ์ฃผ๋ ๋ฉ์์ง๋ ๋ช
ํํ๋ค.
Kubernetes๋ ์ฌ์ ํ ๊ฐ๋ ฅํ ํ๋ซํผ์ด์ง๋ง, ์ ๋์ ์ธ ์กด์ฌ๋ ์๋๋ค.
๊ทธ๋์ ์ค์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ๋์์, ๋ ๋ค๋ฅธ ๋ฌธ์ ๊ตฐโ๋ณต์ก์ฑ, ์ด์ ์ค๋ฒํค๋, ํ ์๋์ ์ ํโ์ ๋ง๋ค์ด๋๋ค.
์ด์ ๋ชจ๋ ํ์ ์ค์ค๋ก์๊ฒ ์ด๋ฐ ์ง๋ฌธ์ ๋์ง ํ์๊ฐ ์๋ค.
- ์ฐ๋ฆฌ๋ K8s๊ฐ ์ง์ง๋ก ํ์ํด์ ์ฐ๋๊ฐ, ์๋๋ฉด ๊ทธ๋ฅ โ๊ธฐ๋ณธ๊ฐโ์ด๋ผ์ ์ฐ๋๊ฐ?
- ๋ฌดํ ํ์ฅ์ด ์ ๋ง ํ์ํ๊ฐ? ์๋๋ฉด ์ค๋ฒํค๋๊ฐ ์ฐ๋ฆฌ๋ฅผ ์กฐ์ฉํ ๊ฐ์๋จน๊ณ ์๋๊ฐ?
- ๋ ๋จ์ํ ์คํ์ผ๋ก ๋์๊ฐ๋ค๋ฉด ์ ํ ๊ฐ๋ฐ์ ๋ ์ง์คํ ์ ์์ง ์์๊น?
๊ธฐ์ ์ ์ํํ๋ค. ์ด์ ์ ์ ๋ต์ด ๋ด์ผ์ ์ฅ์ ๋ฌผ์ด ๋ ์ ์๋ค.
Kubernetes์ ์ง์ ์ง์ Google์ด ๋ฐฉํฅ์ ๋ฐ๊พธ๊ณ ์๋ค๋ฉด, ์ฐ๋ฆฌ๋ ๋ฉ์ถฐ์ ๋ค์ ์๊ฐํด๋ด์ผ ํ๋ค.
K8s๋ ์๋ํ ๋๊ตฌ์ง๋ง, ์ธ์ ๋ โ์ฌ๋ฐ๋ฅธ ๋๊ตฌโ๋ ์๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐ๋ก ์ง๊ธ, ๊ทธ ์ง๋ฌธ์ ๋์ง ์์ ์ด ์๋ค.
