2016๋
์ ์ฐ๋ฆฌ๋ Buffer์ ์์์ด
ํ๋ก์ธ์ ์ ํ ๋ฐ ์กฐ์
๋ค๋ฅธ ๋ง์ Kubernetes ์ฌ์ฉ์์ ๋ง์ฐฌ๊ฐ์ง๋ก kubelet
)๋ ์์ฒญ์ ๋ํ ์๋ต์ ์ค์งํฉ๋๋ค. ๋ฐ๋ผ์ CPU ์ ํ์ ์ค์ ํ๋ ๊ฒ์ ๋
ธ๋๋ฅผ ๋ณดํธํ๋ ์ข์ ๋ฐฉ๋ฒ์
๋๋ค.
ํ๋ก์ธ์ ์ ํ์ ์ปจํ
์ด๋๊ฐ ํน์ ๊ธฐ๊ฐ(๊ธฐ๋ณธ๊ฐ์ 100ms) ๋์ ์ฌ์ฉํ ์ ์๋ ์ต๋ CPU ์๊ฐ์ผ๋ก ์ค์ ํ๋ฉฐ ์ปจํ
์ด๋๋ ์ด ์ ํ์ ์ด๊ณผํ์ง ์์ต๋๋ค. Kubernetes์์๋ ์กฐ์ ํ๋๋ฅผ ์ด๊ณผํ์ง ์๋๋ก ํน์๊ณต๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ฉ๊ธฐ์ ๋ด๋๋ค.
ํ๋ก์ธ์ ์ ํ์ ์ค์ ํ์ง ์์ผ๋ฉด ์ด๋ป๊ฒ ๋๋์?
๋ถํํ๋ ์ฐ๋ฆฌ ์์ ๋ ์ด ๋ฌธ์ ์ ์ง๋ฉดํด์ผ ํ์ต๋๋ค. ๊ฐ ๋
ธ๋์๋ ์ปจํ
์ด๋ ๊ด๋ฆฌ๋ฅผ ๋ด๋นํ๋ ํ๋ก์ธ์ค๊ฐ ์์ต๋๋ค. kubelet
, ๊ทธ๋ ์์ฒญ์ ๋ํ ์๋ต์ ์ค๋จํ์ต๋๋ค. ์ด๋ฐ ์ผ์ด ๋ฐ์ํ๋ฉด ๋
ธ๋๋ ์ํ๋ก ์ ํ๋ฉ๋๋ค. NotReady
, ๊ทธ๋ฆฌ๊ณ ๊ทธ ์ปจํ
์ด๋๋ ๋ค๋ฅธ ๊ณณ์ผ๋ก ๋ฆฌ๋๋ ์
๋์ด ์ ๋
ธ๋์์ ๋์ผํ ๋ฌธ์ ๋ฅผ ๋ฐ์์ํต๋๋ค. ์ ์ด๋ ์ด์์ ์ธ ์๋๋ฆฌ์ค๋ ์๋๋๋ค.
์กฐ์ ๋ฐ ์๋ต ๋ฌธ์ ์ ๋ฐํ
์ปจํ
์ด๋ ์ถ์ ์ ์ฃผ์ ์งํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. trottling
, ์ปจํ
์ด๋๊ฐ ์ ํ๋ ํ์๋ฅผ ๋ณด์ฌ์ค๋๋ค. ์ฐ๋ฆฌ๋ ํ๋ก์ธ์ ๋ถํ๊ฐ ๊ทน์ฌํ์ง ์ฌ๋ถ์ ๊ด๊ณ์์ด ์ผ๋ถ ์ปจํ
์ด๋์ ์ ํ์ด ์๋ค๋ ์ฌ์ค์ ํฅ๋ฏธ๋กญ๊ฒ ๋ฐ๊ฒฌํ์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฃผ์ API ์ค ํ๋๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์๋์์ ๋ณผ ์ ์๋ฏ์ด ํ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์ค์ ํ์ต๋๋ค. 800m
(0.8 ๋๋ 80% ์ฝ์ด) ๋ฐ ์ต๊ณ ๋๋ฌ ๋ฒ์์ ์ต๊ณ ๊ฐ 200m
(20% ์ฝ์ด). ์๋น์ค๋ฅผ ์ ํํ๊ธฐ ์ ์๋ ์ฌ์ ํ ํ๋ก์ธ์ ์ฑ๋ฅ์ด ์ถฉ๋ถํ ๊ฒ์ฒ๋ผ ๋ณด์ด์ง๋ง...
ํ๋ก์ธ์ ๋ก๋๊ฐ ์ง์ ๋ ์ ํ๋ณด๋ค ํจ์ฌ ๋ฎ์ ๊ฒฝ์ฐ์๋ ์ ํ์ด ์ฌ์ ํ ๋ฐ์ํ๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๋ค.
์ด์ ์ง๋ฉดํ์ฌ ์ฐ๋ฆฌ๋ ๊ณง ๋ช ๊ฐ์ง ๋ฆฌ์์ค๋ฅผ ๋ฐ๊ฒฌํ์ต๋๋ค(
๋ฎ์ CPU ๋ก๋์์ ์กฐ์ ์ด ๋ํ๋๋ ์ด์ ๋ ๋ฌด์์
๋๊น? ์งง์ ๋ฒ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. "์ง์ ๋ ํ๋ก์ธ์ ์ ํ์ผ๋ก ์ปจํ
์ด๋๋ฅผ ๋ถํ์ํ๊ฒ ์ ํํ๋ ๋ฒ๊ทธ๊ฐ Linux ์ปค๋์ ์์ต๋๋ค." ๋ฌธ์ ์ ์ฑ๊ฒฉ์ ๊ด์ฌ์ด ์๋ ๊ฒฝ์ฐ ํ๋ ์ ํ
์ด์
(
CPU ์ ํ ์ ๊ฑฐ(๊ฐ๊ฐ์ ์ฃผ์)
์ค๋ ๋ ผ์ ๋์ ์ฐ๋ฆฌ๋ ์ฌ์ฉ์์ ์ค์ํ ๊ธฐ๋ฅ์ ์ง๊ฐ์ ์ ์ผ๋ก ์ํฅ์ ๋ฏธ์น๋ ๋ชจ๋ ์๋น์ค์์ ํ๋ก์ธ์ ์ ํ์ ์ ๊ฑฐํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ํด๋ฌ์คํฐ์ ์์ ์ฑ์ ๋งค์ฐ ์ค์ํ๊ฒ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ฒฐ์ ์ด ์ฝ์ง ์์์ต๋๋ค. ๊ณผ๊ฑฐ์ ์ฐ๋ฆฌ๋ ์ด๋ฏธ ํด๋ฌ์คํฐ์ ๋ถ์์ ์ฑ์ ์คํํ ๊ฒฐ๊ณผ ์๋น์ค๊ฐ ๋๋ฌด ๋ง์ ๋ฆฌ์์ค๋ฅผ ์๋นํ๊ณ ์ ์ฒด ๋ ธ๋์ ์์ ์๋๋ฅผ ๋ฆ์ท์ต๋๋ค. ์ด์ ๋ชจ๋ ๊ฒ์ด ๋ค์ ๋ฌ๋ผ์ก์ต๋๋ค. ์ฐ๋ฆฌ๋ ํด๋ฌ์คํฐ์์ ๊ธฐ๋ํ๋ ๊ฒ์ด ๋ฌด์์ธ์ง ๋ช ํํ๊ฒ ์ดํดํ์ผ๋ฉฐ ๊ณํ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ตฌํํ๊ธฐ ์ํ ์ข์ ์ ๋ต๋ ๊ฐ๊ณ ์์์ต๋๋ค.
๊ธด๊ธํ ๋ฌธ์ ์ ๋ํ ๋น์ฆ๋์ค ์์ .
์ ํ์ด ํด์ ๋ ๋ ๋ ธ๋๋ฅผ ๋ณดํธํ๋ ๋ฐฉ๋ฒ์ ๋ฌด์์ ๋๊น?
"์ ํ๋์ง ์์" ์๋น์ค ๊ฒฉ๋ฆฌ:
๊ณผ๊ฑฐ์ ์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ผ๋ถ ๋
ธ๋๊ฐ ์ํ์ ๋ค์ด๊ฐ๋ ๊ฒ์ ๋ณด์์ต๋๋ค. notReady
, ์ฃผ๋ก ๋๋ฌด ๋ง์ ๋ฆฌ์์ค๋ฅผ ์๋นํ๋ ์๋น์ค ๋๋ฌธ์
๋๋ค.
์ฐ๋ฆฌ๋ ๊ทธ๋ฌํ ์๋น์ค๋ฅผ "๊ด๋ จ" ์๋น์ค๋ฅผ ๋ฐฉํดํ์ง ์๋๋ก ๋ณ๋์("๋ผ๋ฒจ์ด ๋ถ์") ๋
ธ๋์ ๋ฐฐ์นํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก, ์ผ๋ถ ๋
ธ๋๋ฅผ ํ์ํ๊ณ "๊ด๋ จ๋์ง ์์" ์๋น์ค์ ํ์ฉ ์ค์ฐจ ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํจ์ผ๋ก์จ ํด๋ฌ์คํฐ์ ๋ํ ์ ์ด๋ ฅ์ด ํฅ์๋์์ผ๋ฉฐ ๋
ธ๋ ๋ฌธ์ ๋ฅผ ์๋ณํ๋ ๊ฒ์ด ๋ ์ฌ์์ก์ต๋๋ค. ์ ์ฌํ ํ๋ก์ธ์ค๋ฅผ ์ง์ ์ํํ๋ ค๋ฉด ๋ค์์ ์ต์ํด์ง ์ ์์ต๋๋ค.
์ฌ๋ฐ๋ฅธ ํ๋ก์ธ์ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์์ฒญ ํ ๋น:
์ฐ๋ฆฌ์ ๊ฐ์ฅ ํฐ ๋๋ ค์์ ํ๋ก์ธ์ค๊ฐ ๋๋ฌด ๋ง์ ๋ฆฌ์์ค๋ฅผ ์๋นํ๊ณ ๋ ธ๋๊ฐ ์์ฒญ์ ๋ํ ์๋ต์ ์ค๋จํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด์ (Datadog ๋๋ถ์) ํด๋ฌ์คํฐ์ ๋ชจ๋ ์๋น์ค๋ฅผ ๋ช ํํ๊ฒ ๋ชจ๋ํฐ๋งํ ์ ์์๊ธฐ ๋๋ฌธ์ "๊ด๋ จ ์์"์ผ๋ก ์ง์ ํ๋ ค๊ณ ๊ณํํ ์๋น์ค์ ๋ช ๋ฌ ๊ฐ์ ์ด์์ ๋ถ์ํ์ต๋๋ค. ์ ๋ ๋จ์ํ ์ต๋ CPU ์ฌ์ฉ๋์ 20%์ ์ฌ์ ๋ก ์ค์ ํ์ฌ k8s๊ฐ ๋ ธ๋์ ๋ค๋ฅธ ์๋น์ค๋ฅผ ํ ๋นํ๋ ค๊ณ ํ ๊ฒฝ์ฐ๋ฅผ ๋๋นํ์ฌ ๋ ธ๋์ ๊ณต๊ฐ์ ํ ๋นํ์ต๋๋ค.
๊ทธ๋ํ์์ ๋ณผ ์ ์๋ฏ์ด ํ๋ก์ธ์์ ์ต๋ ๋ถํ์ ๋๋ฌํ์ต๋๋ค. 242m
CPU ์ฝ์ด(0.242 ํ๋ก์ธ์ ์ฝ์ด). ํ๋ก์ธ์ ์์ฒญ์ ๊ฒฝ์ฐ ์ด ๊ฐ๋ณด๋ค ์ฝ๊ฐ ํฐ ์ซ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ถฉ๋ถํฉ๋๋ค. ์๋น์ค๋ ์ฌ์ฉ์ ์ค์ฌ์ด๋ฏ๋ก ์ต๋ ๋ถํ ๊ฐ์ ํธ๋ํฝ๊ณผ ์ผ์นํฉ๋๋ค.
๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋๊ณผ ์ฟผ๋ฆฌ์๋ ๋์ผํ ์์ ์ ์ํํ๋ฉด ์ง์ - ๋ชจ๋ ์ค์ ์ด ์๋ฃ๋์์ต๋๋ค! ๋ณด์์ ๊ฐํํ๊ธฐ ์ํด ์ํํ ํฌ๋ ์๋ ํฌ๊ธฐ ์กฐ์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ๋ฆฌ์์ค ๋ก๋๊ฐ ๋์ ๋๋ง๋ค ์๋ ํ์ฅ์ด ์ ํฌ๋๋ฅผ ์์ฑํ๊ณ ์ฟ ๋ฒ๋คํฐ์ค๋ ์ด๋ฅผ ์ฌ์ ๊ณต๊ฐ์ด ์๋ ๋ ธ๋์ ๋ฐฐํฌํฉ๋๋ค. ํด๋ฌ์คํฐ ์์ฒด์ ๋จ์ ๊ณต๊ฐ์ด ์๋ ๊ฒฝ์ฐ ๊ฒฝ๊ณ ๋ฅผ ์ง์ ์ค์ ํ๊ฑฐ๋ ์๋ ํฌ๊ธฐ ์กฐ์ ์ ํตํด ์ ๋ ธ๋ ์ถ๊ฐ๋ฅผ ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๋ง์ด๋์ค ์ค์์ ์ฐ๋ฆฌ๊ฐ "์์ ํจํ๋ค๋ ์ ์ ์ฃผ๋ชฉํ ๊ฐ์น๊ฐ ์์ต๋๋ค.
์กฐ์ฌ ๊ฒฐ๊ณผ
์ง๋ ๋ช ์ฃผ ๋์์ ์คํ์ ํตํด ์ป์ ํ๋ฅญํ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๊ฒ ๋์ด ๊ธฐ์๊ฒ ์๊ฐํฉ๋๋ค. ์์ ๋ ๋ชจ๋ ์๋น์ค ์ ๋ฐ์ ๊ฑธ์ณ ์ด๋ฏธ ์๋นํ ๊ฐ์ ์ด ์ด๋ฃจ์ด์ง ๊ฒ์ ํ์ธํ์ต๋๋ค.
์ฐ๋ฆฌ๋ ํํ์ด์ง(
Linux ์ปค๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์๋์?
์
๊ทธ๋ฌ๋ ์ฝ์ด๋ณด๋ฉด
๋ฐฐํฌ ๋ฒ์ ์ด 4.19๋ณด๋ค ๋ฎ์ ๊ฒฝ์ฐ ์ต์ ๋ฒ์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ๊ฒ์ด ์ข์ง๋ง ์ด๋ค ๊ฒฝ์ฐ์๋ ํ๋ก์ธ์ ์ ํ์ ์ ๊ฑฐํ๊ณ ์ ํ์ด ์ง์๋๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ์๋์์ Kubernetes ๊ด๋ฆฌ ์๋น์ค ๋ฐ Linux ๋ฐฐํฌํ์ ์ผ๋ถ ๋ชฉ๋ก์ ๋ณผ ์ ์์ต๋๋ค.
- ๋ฐ๋น์: ์ต์ ๋ฒ์ ์ ๋ฐฐํฌํ์ ์์ ์ฌํญ์ด ํตํฉ๋์์ต๋๋ค.
๋ฒ์คํฐ , ์๋นํ ์ ์ ํด ๋ณด์ ๋๋ค(์ฌํด์ 8 ์ 2020 ). ์ผ๋ถ ์ด์ ๋ฒ์ ๋ ์์ ๋ ์ ์์ต๋๋ค. - Ubuntu: ์ต์ ๋ฒ์ ์ ํตํฉ๋ ์์ ์ฌํญ
์ฐ๋ถํฌ ํฌ์นผ ํฌ์ฌ 20.04 - EKS๋ ์์ง ์์ ์ฌํญ์ ๊ฐ์ง๊ณ ์์ต๋๋ค
์ฌํด์ 12 ์ 2019 . ๋ฒ์ ์ด ์ด๋ณด๋ค ๋ฎ์ ๊ฒฝ์ฐ AMI๋ฅผ ์ ๋ฐ์ดํธํด์ผ ํฉ๋๋ค. - ์ฝฅ์ค:
2020๋ XNUMX์๋ถํฐ ัkops 1.18+
๊ธฐ๋ณธ ํธ์คํธ ์ด๋ฏธ์ง๋ Ubuntu 20.04์ ๋๋ค. kops ๋ฒ์ ์ด ์ค๋๋ ๊ฒฝ์ฐ ์์ ์ ๊ธฐ๋ค๋ ค์ผ ํ ์๋ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ง๊ธ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค. - GKE(Google Cloud): ์์ ์ฌํญ ํตํฉ
2020๋ XNUMX์ ๊ทธ๋ฌ๋ ์ ํ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.์์ง๋ ๊ด์ฐฐ๋๊ณ ์๋ค .
์์ ์ฌํญ์ผ๋ก ์ธํด ์ ํ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ ๊ฒฝ์ฐ ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
๋ฌธ์ ๊ฐ ์์ ํ ํด๊ฒฐ๋์๋์ง๋ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์์ ์ฌํญ์ด ํฌํจ๋ ์ปค๋ ๋ฒ์ ์ด ๋์ค๋ฉด ํด๋ฌ์คํฐ๋ฅผ ํ ์คํธํ๊ณ ๊ฒ์๋ฌผ์ ์ ๋ฐ์ดํธํ๊ฒ ์ต๋๋ค. ์ด๋ฏธ ์ ๋ฐ์ดํธํ ์ฌ๋์ด ์๋ค๋ฉด ๊ฒฐ๊ณผ๋ฅผ ์ฝ์ด๋ณด๊ณ ์ถ์ต๋๋ค.
๊ฒฐ๋ก
- Linux์์ Docker ์ปจํ ์ด๋(Kubernetes, Mesos, Swarm ๋ฑ)๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ๋ ๊ฒฝ์ฐ ์ ํ์ผ๋ก ์ธํด ์ปจํ ์ด๋ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ต๋๋ค.
- ๋ฒ๊ทธ๊ฐ ์ด๋ฏธ ์์ ๋์์ผ๋ฉด ์ข๊ฒ ์ต๋๋ค. ์ต์ ๋ฒ์ ์ ๋ฐฐํฌํ์ผ๋ก ์ ๋ฐ์ดํธํด ๋ณด์ธ์.
- ํ๋ก์ธ์ ์ ํ์ ์ ๊ฑฐํ๋ฉด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง๋ง ์ด๋ ๋งค์ฐ ์ฃผ์ํด์ ์ฌ์ฉํด์ผ ํ๋ ์ํํ ๊ธฐ์ ์ ๋๋ค(๋จผ์ ์ปค๋์ ์ ๋ฐ์ดํธํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋น๊ตํ๋ ๊ฒ์ด ๋ ์ข์ต๋๋ค).
- CPU ์ ํ์ ์ ๊ฑฐํ ๊ฒฝ์ฐ CPU ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ๋์ ์ฃผ์ ๊น๊ฒ ๋ชจ๋ํฐ๋งํ๊ณ CPU ๋ฆฌ์์ค๊ฐ ์๋น๋์ ์ด๊ณผํ๋์ง ํ์ธํ์ญ์์ค.
- ์์ ํ ์ต์ ์ ํ๋์จ์ด ๋ถํ๊ฐ ๋์ ๊ฒฝ์ฐ ํฌ๋๋ฅผ ์๋ ํฌ๊ธฐ ์กฐ์ ํ์ฌ ์ ํฌ๋๋ฅผ ์์ฑํ์ฌ kubernetes๊ฐ ๋ฌด๋ฃ ๋ ธ๋์ ํ ๋นํ๋๋ก ํ๋ ๊ฒ์ ๋๋ค.
์ด ๊ฒ์๋ฌผ์ด ์ปจํ ์ด๋ ์์คํ ์ ์ฑ๋ฅ์ ํฅ์ํ๋ ๋ฐ ๋์์ด ๋๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
PS
์ถ์ฒ : habr.com