@smarterclayton ์ #199์์ ์ด ๋ฌธ์ ๋ฅผ ์ ๊ธฐํ์ต๋๋ค. Kubernetes๋ ๋ก๋ ๋ฐธ๋ฐ์ฑ๋์ง ์์ ์๋น์ค ๋ฐ/๋๋ ์ํ ์ ์ฅ ์๋น์ค๋ฅผ ์ด๋ป๊ฒ ์ง์ํด์ผ ํ๋์? ํนํ Zookeeper๊ฐ ๊ทธ ์์์ต๋๋ค.
Zookeeper(๋๋ etcd)๋ 3๊ฐ์ง ์ผ๋ฐ์ ์ธ ๋ฌธ์ ๋ฅผ ๋ํ๋ ๋๋ค.
๋ํ ์ผ๋ฐ์ ์ผ๋ก ๋์ผํ ๋ฌธ์ ๋ฅผ ๊ณต์ ํ๊ณ ์ ํ๋ ๋ง์คํฐ๋ฅผ ํด๋ผ์ด์ธํธ์ ๊ด๊ณ ํด์ผ ํ๋ ๋ค๋ฅธ ๋ณต์ ๋ ์๋น์ค์ ๋ํ ๋ง์คํฐ ์ ํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
๋ค๋ฅธ ์ ํ์ ์๋น์ค์ ๊ตฌ๋ณํ๊ธฐ ์ํด ์๋น์ค ์ด๋ฆ์ lbservice ๋๋ ๊ธฐํ๋ก ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
๊ทธ ์ผํ์ผ๋ก ํต์ฌ apiserver์์ ์๋น์ค ๊ฐ์ฒด๋ฅผ ์ ๊ฑฐํ๊ณ HAProxy ๋ฐ nginx์ ๊ฐ์ ๋ค๋ฅธ ๋ก๋ ๋ฐธ๋ฐ์์ ์ฌ์ฉ์ ์ด์งํฉ๋๋ค.
์๋น์ค์ ๋ ผ๋ฆฌ์ ์ ์(์ฟผ๋ฆฌ ๋ฐ/๋๋ ์ ์ญ ์ด๋ฆ)๊ฐ ์ฌ๋ฌ ๋ฐฉ์์ผ๋ก ์ฌ์ฉ/ํนํ๋ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์ ๋๋ค. ์ธํ๋ผ๋ฅผ ํตํด ์ค์น๋ ๋จ์ํ ๋ก๋ ๋ฐธ๋ฐ์, nginx์ ๊ฐ์ ๋ ๋ง์ ๊ธฐ๋ฅ์ ๊ฐ์ถ ์์ ํ ๋ก๋ ๋ฐธ๋ฐ์ ๋๋ ์ธํ๋ผ์์ ์ ๊ณตํ๋ haproxy๋ ํตํฉ์๊ฐ ํด๋ง/๋๊ธฐํ ์ ์๋ ์ฟผ๋ฆฌ ๊ฐ๋ฅํ ๋์ (GET /services/foo -> { endpoints: [{host, port}, ...] }) ๋๋ ํธ์คํธ์์ ์ฌ์ฉํ ์ ์๋ ์ ๋ณด๋ก ์ ๊ณต๋ฉ๋๋ค. ๋ก์ปฌ ๋ก๋ ๋ฐธ๋ฐ์๋ฅผ ๋ ธ์ถํฉ๋๋ค. ๋ถ๋ช ํ ์ด๋ค์ ์ฌ๋ฌ ๋ค๋ฅธ ์ฌ์ฉ ์ฌ๋ก๊ฐ ๋ ์ ์๊ณ ์์ฒด ๋ฆฌ์์ค๋ก ๋ถํ ๋ ์ ์์ง๋ง ๋ฉ์ปค๋์ฆ๊ณผ ๊ตฌ๋ณ๋๋ ์๋(lb ์๋ ํตํฉ)๋ฅผ ์ง์ ํ ์ ์๋ ์ ์ฐ์ฑ์ด ์์ผ๋ฉด ๊ด๋ฒ์ํ ์๊ตฌ ์ฌํญ์ ๋ ์ฝ๊ฒ ์ถฉ์กฑํ ์ ์์ต๋๋ค.
@smarterclayton ์ ์ฑ ๊ณผ ๋ฉ์ปค๋์ฆ์ ๋ถ๋ฆฌํ๋ ๋ฐ ๋์ํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ํ์๋ก ํ๋ ํ๋ฆฌ๋ฏธํฐ๋ธ:
์ด๊ฒ์ ๋ค๋ฅธ ์ด๋ฆ ์ง์ /๊ฒ์ ๋ฉ์ปค๋์ฆ ๋ฐ/๋๋ ๋ก๋ ๋ฐธ๋ฐ์๋ก ๊ตฌ์ฑํ๊ธฐ์ ์ถฉ๋ถํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ผ๋ฐ์ ์ธ ํจํด์ ๊ฐ๋จํ API์ ๋ฌถ๋ ์ฝ์ด ์์ ๋ ๋์ ์์ค์ ๋ ์ด์ด๋ฅผ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
@bgrant0607 ์ด ์ค๋ช ํ ๋ ๊ฐ์ง ๊ธฐ๋ณธ ์์๊ฐ ์ด ๋ฌธ์ ๋ฅผ ๊ณ์ ์ด์ด๋ ๊ฐ์น๊ฐ ์์ต๋๊น? ์๋๋ฉด ์ ์ถํ ์ ์๋ ๋ ๊ตฌ์ฒด์ ์ธ ๋ฌธ์ ๊ฐ ์์ต๋๊น?
์ฌ์ก์ฌ๊ฐ ํด๊ฒฐ๋์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๊ฐ ์ปจํ ์ด๋์ ๊ณ ์ ํ ์๋ณ์๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ ์๊ฐ์๋ 3๊ฐ์ ๊ฐ๋ณ ๋ณต์ ์ปจํธ๋กค๋ฌ(์ธ์คํด์ค๋น ํ๋์ฉ) ๋๋ ๋ณต์ ์ปจํธ๋กค๋ฌ์ ๋ชจ๋๋ก ์ด ์์ ์ ์ํํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์๋น์ค ๋์์ธ์ Brian์ด ์ธ๊ธํ ๊ฒ์ฒ๋ผ ์ฝ๊ฐ์ ๋ ผ์๊ฐ ํ์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ํ์ฌ ๋ ์ด๋ธ ์ฟผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ ธ์ถ ๋ฉ์ปค๋์ฆ(๋ชจ๋ ์ปจํ ์ด๋์ ํ๊ฒฝ ๋ณ์)๊ณผ ์ธํ๋ผ ์ถ์ํ(๋ก์ปฌ ํ๋ก์)๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. L7 ํธ์คํธ/๊ฒฝ๋ก๋ฅผ ๊ฐ์ ธ์ ๋ ์ด๋ธ ์ฟผ๋ฆฌ์ ๊ท ํ์ ์ด๋ฃจ๋ ์์ง ํ๋ก์์ http(s) ๋ฐ ์น ์์ผ๊ณผ ๊ฐ์ ์ง์ ํ๋กํ ์ฝ์ ๋ํด ๋๋ฑํ๊ฒ ์ ํจํ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์ต๋๋ค. ๋ํ ์๋น์ค์๋ ํ์ฌ ์ ์ฒด ํด๋ฌ์คํฐ(ํ ๋น๋ IP์ ์)์์ ๊ณต์ ๋๋ 60,000๊ฐ์ ๋ฐฑ์๋๋ผ๋ ์๊ฒฉํ ํ์ฅ ์ ํ์ด ์์ต๋๋ค. ํด๋น ํธ์คํธ์ ์ปจํ ์ด๋๊ฐ ํ์๋ก ํ๋ ์๋น์ค๋ง ํ๋ก์ํ๋ ๋ฏธ๋์ธ์์ ๋ก์ปฌ ํ๋ก์๋ฅผ ์คํํ ์ ์์ด์ผ ํ๊ณ ์ปจํ ์ด๋๊ฐ ์ธ๋ถ ํฌํธ์ ๋ํด ์์์ผ ํ๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ด์ผ ํฉ๋๋ค. ํ์ํ ๊ฒฝ์ฐ ์ด ํ ๋ก ์ #494๋ก ์ด๋ํ ์ ์์ต๋๋ค.
๋ง์คํฐ-์ฌ๋ ์ด๋ธ ๋ณต์ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๊ณ ์ ํฌ๊ธฐ ํผ์ด ๊ทธ๋ฃน์ด ์๋ ํค-๊ฐ ์ ์ฅ์(์: etcd, ์ฌ์ก์ฌ) ๋ฑ๊ณผ ๊ฐ์ ๊ณ ์ ๋ณต์ ๋ฅผ ์ฌ์ฉํ์ฌ ์ฑ๊ธํค ์๋น์ค ๋ฐ ์๋ ํ์ฅ๋์ง ์๋ ์๋น์ค์ ๋ฌธ์ ํด๊ฒฐ
๊ณ ์ ๋ณต์ ์ฌ๋ก์๋ ์์ธก ๊ฐ๋ฅํ ๋ฐฐ์ด๊ณผ ๊ฐ์ ๋์์ด ํ์ํฉ๋๋ค. ํผ์ด๋ ์๋ก๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๊ฐ๋ณ์ ์ผ๋ก ํด๊ฒฐํ ์ ์์ด์ผ ํฉ๋๋ค. ์ด๋ฌํ ์๋น์ค์๋ ์ผ๋ฐ์ ์ผ๋ก ์์ฒด ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๋ฐ/๋๋ ํ๋กํ ์ฝ์ด ์์ผ๋ฏ๋ก ์ธ์คํด์ค๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ์ฃผ์ ์ง์ ๊ฐ๋ฅํ๊ฒ ๋ง๋๋ ๊ฒ ์ธ์ ํด๋ผ์ด์ธํธ๊ฐ ์ฐ๊ฒฐํด์ผ ํ๋ ์ธ์คํด์ค๋ฅผ ๊ฒฐ์ ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ํ์๊ฐ ์์ต๋๋ค.
์ ์: ์ฐ๋ฆฌ๋ ํ๋๊ฐ ์๋ N๊ฐ์ IP ์ฃผ์๋ฅผ ๋งคํํ๋ ์นด๋๋ ์๋น์ค๋ผ๋ ์๋ก์ด ํํ์ ์๋น์ค๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์นด๋๋ ์๋น์ค๋ ๋ ์ด๋ธ ์ ํ๊ธฐ๊ฐ ๋์์ผ๋ก ํ๋ N๊ฐ์ ์ธ์คํด์ค์ ์ด๋ฌํ IP ์ฃผ์๋ฅผ ์์ ์ ์ผ๋ก ํ ๋นํฉ๋๋ค(์ฆ, ๋ง์ ๋์์ด ์กด์ฌํ๋ ๊ฒ์ด ์๋๋ผ ์ง์ ๋ N). DNS( #1261, #146 )๊ฐ ์์ผ๋ฉด ์ ๊ณต๋ ์ ๋์ฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์์ธก ๊ฐ๋ฅํ DNS ์ด๋ฆ์ ํ ๋นํ๊ณ ์ ๋ฏธ์ฌ๋ 0์์ N-1๊น์ง์ ๋๋ค. ํ ๋น์ ๋์ ํฌ๋์ ์ฃผ์ ๋๋ ๋ ์ด๋ธ์ ๊ธฐ๋ก๋ ์ ์์ต๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ํ์ค ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ฑ ๋ฉ์ปค๋์ฆ์์ ์ฌ์ฉํ ์ ์๋ ์์ ์ ์ธ ์ด๋ฆ๊ณผ IP ์ฃผ์๋ฅผ ์ ๊ณตํ๋ฉด์ ํฌ๋ ๋ฐ ๋ณต์ ์ปจํธ๋กค๋ฌ์ ID์์ ์ญํ ํ ๋น์ ๋ถ๋ฆฌ๋ฅผ ์ ์งํฉ๋๋ค.
๋ค์ํ ์ ํ์ ๋ก๋ ๋ฐธ๋ฐ์ฑ์ ๋ํ ๋ ผ์ ์ค ์ผ๋ถ๋ ์๋น์ค v2 ์ค๊ณ: #1107์์ ๋ฐ์ํ์ต๋๋ค.
๋ง์คํฐ ์ ๊ฑฐ์ ๋ํด์๋ ๋ณ๋์ ํธ๋ฅผ ์ ์ถํ๊ฒ ์ต๋๋ค.
/cc @smarterclayton @thockin
ํ ๋น์ ์ผ๋ถ ํ๊ฒฝ ๋งค๊ฐ๋ณ์ํ ๋ฉ์ปค๋์ฆ์ ํตํด ํ๋๋ก ์ ๋ฌ๋์ด์ผ ํฉ๋๋ค(๊ฑฐ์ ํ์คํ).
etcd ์์ ์ ๊ฒฝ์ฐ ๋ค์์ ์์ฑํฉ๋๋ค.
ํฌ๋ 2๊ฐ ์ฃฝ์ผ๋ฉด ๋ณต์ ์ปจํธ๋กค๋ฌ 2๊ฐ ์ ๋ณต์ฌ๋ณธ์ ๋ง๋ค์ด ๋ณผ๋ฅจ B์ ๋ค์ ์ฐ๊ฒฐํฉ๋๋ค. ์นด๋๋ ์๋น์ค 'etcd'๋ ํด๋น ํฌ๋๊ฐ ์ ๊ฒ์์ ์๊ณ ์์ง๋ง ์นด๋๋๋ฆฌํฐ 2(์ ์ฅ๋ ๋ฐ์ดํฐ์์ ๊ฐ์ ธ์ด)์ฌ์ผ ํ๋ค๋ ๊ฒ์ ์ด๋ป๊ฒ ์ ์ ์์ต๋๊น? ๋ณผ๋ฅจ B)?
3๊ฐ์ ๋ณต์ ์ปจํธ๋กค๋ฌ๊ฐ ์๋ ์ค๋ฉ ์ปจํธ๋กค๋ฌ๊ฐ ํ์ํ ์ด์ ๋ ๋ฌด์์
๋๊น?
๊ฒฐ์ ์ ๋ด๋ฆด ๋ "kubernetes.io/ShardIndex"์ ๊ฐ์ ๋ ์ด๋ธ์ ํ์ธํฉ๋๋ค. ๋ง์ฝ์
3๋ฐฉํฅ ์ค๋ฉ์ ์ํ๋ฉด ์ธ๋ฑ์ค 0, 1, 2๊ฐ ์๋ 3๊ฐ์ ํฌ๋๋ฅผ ๋ง๋ญ๋๋ค.
์ด๊ฒ์ ์ ์ ๊ฒฉ์ถ๋์์ง๋ง, ๊ทธ๋ก ์ธํด ๋ฐ์ํ ๋ฌธ์ ๋ฅผ ์ฌ๊ตฌ์ฑํ ์ ์์ต๋๋ค.
๋ด ๋จธ๋ฆฌ.
์๋์ ์ผ๋ก ์ฌ์ฉ์์๊ฒ ๋ถ๋ด์ ์ฃผ๋ ๊ฒ์ ์๋ชป๋ ๊ฒ ๊ฐ์ต๋๋ค.
์ผ๋ฐ์ ์ธ ์๋๋ฆฌ์ค.
ํน์ ํฌ๋์ ๋ช
๋ชฉ IP๊ฐ ๋ค์์ผ๋ก ์ธํด ๋ณ๊ฒฝ๋๋์ง ์ฌ๋ถ๊ฐ ์ค์ํ๋ค๊ณ ์๊ฐํ์ญ๋๊น?
์ธํธ์ ๊ด๋ จ ์๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฌด์์
๋๊น? ์๋ฅผ ๋ค์ด:
์๊ฐ 0์์ ํฌ๋(A, B, C)๋ IP์ ํจ๊ป ๊ธฐ๋ณธ ์๋น์ค๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
๊ฐ๊ฐ 10.0.0.{1-3}
์๊ฐ 1์์ ํฌ๋ B๋ฅผ ํธ์คํ ํ๋ ๋ ธ๋๊ฐ ์ข ๋ฃ๋ฉ๋๋ค.
์๊ฐ 2์์ B๋ฅผ ๊ตฌ๋ํ๋ ๋ณต์ ์ปจํธ๋กค๋ฌ๋ ์ ํฌ๋ D๋ฅผ ์์ฑํฉ๋๋ค.
์๊ฐ 3์์ ๊ธฐ๋ณธ ์๋น์ค๋ IP๊ฐ 10.0.0์ธ (A, C, D)๋ก ๋ณ๊ฒฝ๋ฉ๋๋ค.{1-3}
๊ฐ๊ธฐ
์ฃผ์: ํฌ๋ C์ "์์ ๋ IP"๋ ์ค์ ์ 10.0.0.3์์ 10.0.0.2๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค.
๋ฉค๋ฒ์ญ์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ๋๋ ์ด๊ฒ์ด ๋ฌ๋ฆฌ๊ธฐ์ ๋์ ์ํฅ์ ์ค ๊ฒ์ด๋ผ๊ณ ๊ธฐ๋ํ๋ค
์ฌ์ด.
์ด๊ฒ์ ํผํ๋ ค๋ฉด ์์ ๊ฐ์ ์ง์ ํด์ผ ํฉ๋๋ค.
์๋น์ค ์ธ๋ถ ๋๋ ๋ค๋ฅธ ์๋ฆฌํ ๊ฒ. ๊ด์ฐฎ์ ์๋ ์์ง๋ง
์ฌ๋๋ค์ด ๊ทธ๊ฒ์ ๋ค๋ฃจ์ด์ผ ํ๋ ๊ฒฝ์ฐ ์ฐ์ฝํ๊ณ ์๋ชป๋๊ธฐ ์ฌ์ด ๊ฒ์ฒ๋ผ ๋ณด์
๋๋ค.
2014๋
10์ 2์ผ ๋ชฉ์์ผ ์ค์ 10์ 17๋ถ, Clayton Coleman [email protected]
์ผ๋ค:
ํ ๋น์ ์ผ๋ถ๋ฅผ ํตํด ํฌ๋๋ก ์ ๋ฌ๋์ด์ผ ํฉ๋๋ค.
ํ๊ฒฝ ๋งค๊ฐ๋ณ์ํ ๋ฉ์ปค๋์ฆ(๊ฑฐ์ ํ์คํจ).etcd ์์ ์ ๊ฒฝ์ฐ ๋ค์์ ์์ฑํฉ๋๋ค.
- ๋ณต์ ์ปจํธ๋กค๋ฌ ์นด๋๋๋ฆฌํฐ 1:1 ํฌ๋, ์์ ์ ๊ฐ๋ฆฌํค๋
์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ A- ๋ณต์ ์ปจํธ๋กค๋ฌ ์นด๋๋๋ฆฌํฐ 2: 1 ํฌ๋, ์์ ์ ๊ฐ๋ฆฌํค๋
์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ B- ๋ณต์ ์ปจํธ๋กค๋ฌ ์นด๋๋๋ฆฌํฐ 3: 1 ํฌ๋, ์์ ์ ๊ฐ๋ฆฌํค๋
์คํ ๋ฆฌ์ง ๋ณผ๋ฅจ C- ํฌ๋๋ฅผ ๊ฐ๋ฆฌํค๋ ๊ธฐ๋ณธ ์๋น์ค 'etcd'
ํฌ๋ 2๊ฐ ์ฃฝ์ผ๋ฉด ๋ณต์ ์ปจํธ๋กค๋ฌ 2๊ฐ ์ ๋ณต์ฌ๋ณธ์ ๋ง๋ค๊ณ
์ด๋ฅผ ๋ณผ๋ฅจ B์ ๋ค์ ์ฐ๊ฒฐํฉ๋๋ค. ๊ธฐ๋ณธ ์๋น์ค 'etcd'๋ ํด๋น ํฌ๋๊ฐ
์๋กญ์ง๋ง ์นด๋๋๋ฆฌํฐ 2์ฌ์ผ ํ๋ค๋ ๊ฒ์ ์ด๋ป๊ฒ ์ ์ ์์ต๋๊น?
๋ณผ๋ฅจ B์ ์ ์ฅ๋ ๋ฐ์ดํฐ)?์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -57663926
.
๋๋ ์ค๋ฉ ์ปจํธ๋กค๋ฌ๊ฐ ์๋ฏธ๊ฐ ์๊ณ ์๋ง๋ ๊ธฐ๋ณธ ์๋น์ค์ ๋งฅ๋ฝ์์ ๋ ์ ์ฉํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋ฉค๋ฒ์ฝ์ ๋ฐ๋ฅธ IP ๋ณ๊ฒฝ์ด ๋ฌด์ญ๊ณ ํด๋ณดํ ์ฃ์ง ์ผ์ด์ค๋ฅผ ๋ง์ด ์๊ฐํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฌ๋ ์นด๋๋๋ฆฌํฐ๊ฐ ํฌ๋์ ํจ๊ป ์ ์ฅ๋๋ฉด ๊ฒฐ์ ์ด ๋ ์ด๋ ต์ต๋๋ค.
์ฐ์ , ๋๋ ์ด๊ฒ์ ์ค๋ฉ์ ๋ํด ์๋ํ ๊ฒ์ด ์๋๋๋ค -- ๊ทธ๊ฒ์ด #1064์ ๋๋ค. ์ค๋ฉ ๋ ผ์๋ฅผ ๊ทธ๊ณณ์ผ๋ก ์ฎ๊ฒจ๋ณด์. ์ฐ๋ฆฌ๋ ์ค๋ฉ์ ์ ์ฌํ ๋ฉ์ปค๋์ฆ์ ์ฌ์ฉํ๋ ค๋ ๋ง์ ๊ฒฝ์ฐ๋ฅผ ๋ณด์๊ณ ์ด๊ฒ์ด ์ค๋ฉ์ ๊ตฌํํ๋ ์ต์ ์ ๋ฐฉ๋ฒ์ด ์๋๋ผ๋ ๊ฒฐ๋ก ์ ๋ด๋ ธ์ต๋๋ค.
๋์งธ, N๊ฐ์ ๋ณต์ ์ปจํธ๋กค๋ฌ๋ฅผ ์คํํ ํ์๊ฐ ์๋๋ก ํ๋ ค๋ ๊ฒ์ ๋๋ค. ํ์ํ ์๋ ๋ฐฐํฌ ์ธ๋ถ ์ ๋ณด(์นด๋๋ฆฌ์, ์ฌ๋ฌ ๋ฆด๋ฆฌ์ค ํธ๋, ๋กค๋ง ์ ๋ฐ์ดํธ ๋ฑ)์ ๋ฐ๋ผ ๋ค๋ฅด์ง๋ง ํ๋๋ง ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค.
์ ์งธ, ์ด๊ฒ์ด ์ง์ ๊ฐ๋ฅํ ๋ฐ์ดํฐ ์ ์(#1515) -- @erictune ๊ณผ ์ํธ ์์ฉํ๋ ๋ฐฉ์์ ๊ณ ๋ คํด์ผ ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
๋ท์งธ, ์์ด๋ดํฐํฐ๋ฅผ ํฌ๋์ ๋ฐ์ํด์ผ ํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. #386์ ๋ฐ๋ผ IP ๋ฐ DNS ์ด๋ฆ ํ ๋น์ ํฌ๋์์ ๋ณผ ์ ์๋๋ก ํ๋ ๋ฐ ์ด์์ ์ผ๋ก๋ ํ์ค ๋ฉ์ปค๋์ฆ์ด ์ฌ์ฉ๋ฉ๋๋ค. IP ๋ฐ ํธ์คํธ ๋ณ์นญ์ ์ผ๋ฐ์ ์ผ๋ก Linux์์ ์ด๋ป๊ฒ ํ์๋ฉ๋๊น?
๋ค์ฏ์งธ, ๋ ์ด๋ธ์ด๋ ์ฃผ์์ ํตํด Pod์ ํ ๋น์ ๊ธฐ๋กํ์ฌ ํ ๋น ์์ ์ฑ์ ๋ณด์ฅํ ๊ฒ์ ์ ์ํ์ต๋๋ค.
์ฌ์ฏ์งธ, ๋ณต์ ์ปจํธ๋กค๋ฌ๋ฅผ ๋์ฒดํ๋ "์ค๋ฉ ์ปจํธ๋กค๋ฌ"์ ๋ฌธ์ ๋ ์ด๋ฏธ์ง/ํ๊ฒฝ ๊ด๋ฆฌ์์ ์ญํ ํ ๋น์ ๋ถ๋ฆฌํ๊ณ ์ถ๋ค๋ ๊ฒ์ ๋๋ค. ๋ณต์ ์ปจํธ๋กค๋ฌ๊ฐ ํ์๋ฅผ ์ ๊ณตํ๋ค๊ณ ์๊ฐํฉ๋๋ค(https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment-57678564 ์ฐธ์กฐ).
#1515์ ๋ฐ๋ฅธ ๋ด๊ตฌ์ฑ ๋ฐ์ดํฐ์ ๊ฒฝ์ฐ:
/cc @erictune
๋๋ ๋น์ ์ด ๋ํ๋ฅผ ๋ ์ฝ๊ฒ ํ๋ ค๊ณ ๋ ธ๋ ฅํ๋ค๊ณ ์๊ฐํ์ง๋ง ๊ทธ๊ฒ์ด ํจ๊ณผ๊ฐ ์์๋์ง ํ์ ํ ์ ์์ต๋๋ค.
Re: ์ค๋ฉ - "๊ณ ์ ํ ID๋ฅผ ๊ฐ์ง ๋ณต์ ๋ณธ ์ธํธ"๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฉ์ด ์๋๋๊น?
Re: 1 ๋ณต์ ์ปจํธ๋กค๋ฌ - ์ค๋ ์ธ๋ฑ์ค๋ฅผ ํ ๋นํ๋ ๋ณต์ ์ปจํธ๋กค๋ฌ๊ฐ ์์ต๋๋ค. ๋๋ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ์ํ๋ ๊ฒ ๊ฐ์ง ์์ต๋๋ค, ๊ทธ๋ ์ฃ ?
Re: ํฌ๋์ ๊ณ ์ ํ ID๋ฅผ ์๋ฆฌ๊ธฐ - ์๋น์ค๋ ํฌ๋๋ณด๋ค ๊นจ๋ํ ๊ณ์ธต์ ๋๋ค. ์๋ฐํ ํฌ๋๊ฐ ์กด์ฌํ๊ธฐ ์ ์ IP๋ฅผ ํ ๋นํ ์ ์๋๋ก ์๋ฐํ ํฌ๋์ ๋ํด ์๋น์ค์ ์๋ฆฌ๋ ๊ฒ์ ์ง์ ๋ถํ ๊ฒ์ ๋๋ค. ID๋ ShardIndex ๋ ์ด๋ธ๊ณผ ๊ฐ์ ํฌ๋์ ์ผ๋ถ์ฌ์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ํฌ๋์ (์ด์จ๋ ) ๋ฐ์ํ ์ ์๊ณ ์๋น์ค๋ IP๋ฅผ ํ ๋นํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค. Cardinal ์๋น์ค๊ฐ ์ค์ค๋ก ์ํํ๋๋ก ํ๋ฉด ํฌ๋๊ฐ ํ ๋น๋ ๋ ์ด๋ฏธ ํฌ๋๊ฐ ์์๋ ๊ฒ์ ๋๋ค. GCE์ VM๊ณผ ๊ฐ์ด ํฌ๋๋น ๋ฉํ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง ์ ์์ง๋ง ์ด๋ ๋ ํฐ ์ ์์ ๋๋ค.
์๋์, ์์ ์ ์ด๊ณ ๋๋ ทํ ID๋ฅผ ์ ๊ณตํ๋ ๊ฒ์ ์ค๋ฉ์ ํ์ํ์ง๋ ์ถฉ๋ถํ์ง๋ ์์ต๋๋ค. ๋ฐฉ๊ธ ์ถ๊ฐํ ์์ธํ ๋ด์ฉ์ #1064๋ฅผ ์ฐธ์กฐํ์ธ์.
์๋์, ๋ณต์ ์ปจํธ๋กค๋ฌ๊ฐ ์ธ๋ฑ์ค๋ฅผ ํ ๋นํ๋ ๊ฒ์ ์ํ์ง ์์ต๋๋ค. ๋๋ ์๋์ ์ผ๋ก ์นด๋๋ ์๋น์ค๊ฐ ๊ทธ๊ฒ์ ๋์ ํ๋๋ก ์ ์ํ์ต๋๋ค.
์, ํฌ๋์ ์ญํ (์ธ๋ฑ์ค)์ด ํ ๋น๋๊ธฐ ์ ์ ํฌ๋๊ฐ ์กด์ฌํ๊ณ ์ ์ฌ์ ์ผ๋ก ์์๋์์ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ๊ทธ๊ฒ์ ์๋์ ์ด์์ต๋๋ค. ๋ํ ํ ๋น์ ์ทจ์ํ ์ ์์ด์ผ ํฉ๋๋ค.
๊ฐ๋ฅํ ID ์ ๊ทผ ๋ฐฉ์: ์ปจํ ์ด๋์ ๋น์๊ตฌ์ IP ๋ณ์นญ์ ๋ง๋ค๊ณ DNS ๊ตฌํ์์ ์ญ๋ฐฉํฅ DNS ์กฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค.
๊ทธ๋ฌ๋ ID๋ฅผ ํฌ๋ ์ปจํ ์ด๋์ ์ฐ๊ฒฐํ๋ ๊ฒ์ด ๋ง์ ์ฌ์ฉ ์ฌ๋ก์์ ํ์์ ์ด๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์ด ์์ฒด ๋ฑ๋ก์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ด ๋ฉ์ปค๋์ฆ์ด ํ์ํ์ง ์์ ์ ์์ต๋๋ค.
์๋น์ค ๊ด๋ฆฌ์๊ฐ ์ด๋ค ์ํ๋ฅผ ์ ์ธํ๊ณ ๊ธฐ๊บผ์ด ์ ์งํ๋ ค๋ ๊ฒฝ์ฐ
ํ์ฌ ์ฐ๋ฆฌ๋ ์ด์ ์ ๋ง๋ค์ด์ง ๋งคํ์ ๊ธฐ์ตํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ ์กด์คํ๋ ค๊ณ ๋
ธ๋ ฅํ์ญ์์ค.
2014๋ 10์ 2์ผ ๋ชฉ์์ผ ์คํ 8์ 59๋ถ์ bgrant0607 [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๊ฐ๋ฅํ ID ์ ๊ทผ ๋ฐฉ์: ๋น์๊ตฌ์ IP ๋ณ์นญ ์์ฑ
์ปจํ ์ด๋๋ฅผ ๋ง๋ค๊ณ DNS ๊ตฌํ์์ ์ญ๋ฐฉํฅ DNS ์กฐํ๋ฅผ ์ ๊ณตํฉ๋๋ค.๊ทธ๋ฌ๋ ID๋ฅผ ํฌ๋ ์ปจํ ์ด๋์ ์ฐ๊ฒฐํ๋ ๊ฒ์
๋ง์ ์ฌ์ฉ ์ฌ๋ก์ ํ์์ ์ ๋๋ค. ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ฌ์ฉ ์ค์ธ ๊ฒฝ์ฐ
์์ฒด ๋ฑ๋ก, ์๋ง๋ ์ด ๋ฉ์ปค๋์ฆ์ด ํ์ํ์ง ์์ ๊ฒ์ ๋๋ค.์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -57749083
.
๋ต์ฅ. ๋งคํ์ ๊ธฐ์ตํ๊ณ ๋์ํฉ๋๋ค. https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -57679787์ ์ฐธ์กฐ
ํ์ง๋ง ๊ทธ๊ฒ์ด ๋น์ ์ด ์๋ตํ ๋๊ธ๊ณผ ์ด๋ป๊ฒ ๊ด๋ จ์ด ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
GitHub์ ์ด๋ฉ์ผ์ ์์ด์ง ์์ต๋๋ค. ์ฃ์กํฉ๋๋ค
2014๋ 10์ 2์ผ ๋ชฉ์์ผ ์คํ 9์ 39๋ถ์ bgrant0607 [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๋ต์ฅ. ๋งคํ์ ๊ธฐ์ตํ๊ณ ๋์ํฉ๋๋ค -- #260(๋๊ธ) ์ฐธ์กฐ
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -57679787
.ํ์ง๋ง ๊ทธ๊ฒ์ด ๋น์ ์ด ์๋ตํ ๋๊ธ๊ณผ ์ด๋ป๊ฒ ๊ด๋ จ์ด ์๋์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -57750769
.
Tim์ "๋ช ๋ชฉ์"์ ์ ์ํ๋๋ฐ, ๋๋ ๊ทธ๊ฒ์ด ๋ ์ ํฉํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
http://www.mathsisfun.com/definitions/nominal-number.html
http://www.mathsisfun.com/definitions/cardinal-number.html
http://www.mathsisfun.com/definitions/ordinal-number.html
๋ช ๋ชฉ์๋ ์ข์ํฉ๋๋ค. ์ฌ์ฉ์์๊ฒ ์ค๋ช ํ๋ ๊ฒ์ ์ซ์ดํ์ง๋ง ๊ตฌ์ฑ ์์ฑ ํญ๋ชฉ์ ์ฌ์ฉ๋๋ ๊ฒฝ์ฐ๊ฐ ๋งค์ฐ ๋ง์ต๋๋ค(์: ๋ช ๋ชฉ mongodb ๋ณต์ ์ธํธ๋ ๋ณต์ ์ปจํธ๋กค๋ฌ, ๋ช ๋ชฉ ์๋น์ค, ๋ณผ๋ฅจ์ด ๋ ๊ฒ์ด๋ฏ๋ก ์ด๋ฏธ ๋ค์ ๋ณต์กํฉ๋๋ค).
----- ์๋ณธ ๋ฉ์์ง -----
Tim์ "๋ช ๋ชฉ์"์ ์ ์ํ๋๋ฐ, ๋๋ ๊ทธ๊ฒ์ด ๋ ์ ํฉํ๋ค๋ ๋ฐ ๋์ํฉ๋๋ค.
http://www.mathsisfun.com/definitions/nominal-number.html
http://www.mathsisfun.com/definitions/cardinal-number.html
http://www.mathsisfun.com/definitions/ordinal-number.html์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -59438307
๋ด๊ฐ ๋ณด๋ ๋ ๊ฐ์ง ๋ฌธ์ :
์ด๊ฒ์ ์ญํ ํ ๋น์ด ์ํฌํ๋ก ๋จ๊ณ๋ก apiserver์ ์ค์ผ์ค๋ฌ ์ฌ์ด์ ์์นํ๋ ์ปจํธ๋กค๋ฌ์์ ์๋ฏธํ๋ ๊ฒ ๊ฐ์ต๋๋ค. ๋ํ ์ญํ ํ ๋น์ด ์๋ ํ ํ๋ฆฟ์ด ๋ฐ๋์ ์๋ฏธ๊ฐ ์๋ ๊ฒ๊ณผ ๊ฐ์ด ํ ํ๋ฆฟ์ ๋ณํ ๋๋ ์ฌ์ ์์ ์ผ๋ถ ํํ๋ฅผ ์๋ฏธํฉ๋๋ค.
์ค๋ ์ปจํธ๋กค๋ฌ๋ ๋ ๋ณต์กํ ์ญํ ํ ๋น์ ์ํ ์ด ๋ฌธ์ ์ ๋ณํ์ฒ๋ผ ๋ณด์ ๋๋ค.
์ธ์คํด์ค๋น ํ๋์ ์๋น์ค๋ก ์ฌ์ก์ฌ๋ฅผ ์คํํ๋ ์: http://iocanel.blogspot.com/2014/10/zookeeper-on-kubernetes.html
๊ทธ๋์ ๋๋ ์ด๊ฒ์ด ์ค๋๋ ์ค๋ ๋๋ผ๋ ๊ฒ์ ์๊ณ ์์ง๋ง ๊ทธ๊ฒ์ ๋์๊ฒ ๊ฐ๊น๊ณ ์์คํ ์ฃผ์ ๋ฅผ ์นฉ๋๋ค ;-)
์์คํ ์ด NAT๊ฐ ์๋ "๋ช ๋ชฉ ์๋น์ค"์ ๋ํ ๋ ์ฝ๋๋ฅผ ์์ผ๋ก ํธ์ํ๊ณ ํด๋น ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ ํฌ๋์ ENV ์ฃผ์ ์ผ๋ก ์ด๋ฆ์ ์ฌ์ฉํ ์ ์๋ค๋ฉด ๋ค๋ฅธ ์ ํ ์ฌํญ์ด ์์ต๋๊น?
์ฟผ๋ผ์ ๋ชจ๋ ์์๊ฐ ๋ค๋ฅธ ์์๋ฅผ ์ฌ์ฉํ๋ ZK์ ๊ฒฝ์ฐ์๋ ์ฝ๊ฐ ์ด์ํ๊ฒ ๋ณด์ผ ์ ์์ต๋๋ค. ์:
zk1 ์ฌ์ฉ: zk2, zk3
zk2 ์ฌ์ฉ: zk1, zk3
zk3 ์ฌ์ฉ: zk1, zk2
๊ทธ๋ฌ๋ ์ด๋ก ์์ผ๋ก๋ ์ ๋๋ก ์๋ํด์ผ ํฉ๋๊น? ๋ช ๋ชฉ ์๋น์ค์ ๋ํ ์ญ ๋ ์ฝ๋๋ฅผ ์ถ๊ฐํ ์ ์๋ค๋ฉด.
@ bgrant0607 ๋ด๊ฐ ๋ญ๊ฐ๋ฅผ ๋์น๊ณ ์์ต๋๊น?
๋ค๋ฅธ ์์ฉ ํ๋ก๊ทธ๋จ์ด ์ ๊ณตํ๋ ์ ์ฒด ์๋น์ค๋ฅผ ์ฌ์ฉํ๋ ค๋ ๊ฒฝ์ฐ ์ฝ๊ฐ ์ด์ํด์ง๋๋ค. (https://github.com/GoogleCloudPlatform/kubernetes/issues/1542)
@timothysc ๋น์ ์ด ์ ์ํ ๊ฒ์ zk1, zk2, zk3๊ฐ ์๋น์ค๋ผ๋ฉด ์ ์ด๋ ํ ๋ฒ์ ๋ค์ค ํฌํธ ์๋น์ค๊ฐ ์ง์๋๋ค๋ฉด ์๋ํ ๊ฒ์ ๋๋ค.
์, ํ์ง๋ง ์ฌ๊ธฐ์ ๋ชป์๊ธด ๊ฒ์ด ์์ต๋๋ค.
์คํ ์ค์ธ ํฌ๋๋ ์ด๋ค ์๋น์ค๊ฐ "์์" ์๋์ง ๋ชจ๋ฆ
๋๋ค. ์: ์๋น์ค ์ ๊ณต
ํ๋์ ๋ฐฑ์๋ ์ธ์คํด์ค์์ ์๋น์ค์ ์ก์ธ์คํ๋ ๋ฐ ์ฌ์ฉ๋ VIP๋
๋ฐฑ์๋(์๋น์ค๋ฅผ ์๊ณ ๊ทธ ์ ๋ณด๋ฅผ ์ฐพ์ง ์๋ ํ
์ด๋ฆ). ๋ช
๋ชฉ ์๋น์ค(N)์๋ N๊ฐ์ ๋ฐฑ์๋์ N๊ฐ์ VIP๊ฐ ์์ต๋๋ค.
์๋ง๋ N๊ฐ์ DNS ์ด๋ฆ ๋๋ N-์ฃผ์ ์ด๋ฆ), ๊ทธ๋ฌ๋ ๋ฐฑ์๋๋ ์ฌ์ ํ
์์ ์ VIP๋ฅผ ๋ชจ๋ฆ
๋๋ค. ๊ทธ๋ค์ DNS ์ด๋ฆ ํ์ ๊ด์ฐฐํ ์ ์์ง๋ง
์ด๋ ๊ฒ์ด ์๊ธฐ ์์ ์ธ์ง (ํ์ ์์ด) ๋ชจ๋ฆ
๋๋ค. ์ด๊ฒ์ ๋น์ ์ ZK๋ฅผ ๋ง๋ค ๊ฒ์
๋๋ค
VIP๋ฅผ ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ(VIP๋ ํ์ฌ ๊ด์ฐฐ ๊ฐ๋ฅํ๊ฒ ํ๋ก์๋จ).
๋์:
1) 1๊ฐ์ ์๋น์ค(N)๋ฅผ ์ค์ ํ๊ณ ๊ฐ ์ธ์คํด์ค๊ฐ ๋ชจ๋ VIP๋ฅผ ์์ฒด์ ์ผ๋ก ์กฐ์ฌํ๋๋ก ํฉ๋๋ค.
2) N service(1) ์ธ์คํด์ค๋ฅผ ์ค์ ํ๊ณ ๋ ์ด๋ธ ๋ฐ cmdline ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ
์๋์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ํ ๋นํ๊ณ ๊ฐ ZK ๋ฐฑ์๋๊ฐ (์ ํ์ ์ผ๋ก) DNS ์ด๋ฆ์ ์๋๋ก ํฉ๋๋ค.
์๋ก์ ZK ๋ฐฑ์๋
3) ๋ ์ด๋ธ ์ ํ๊ธฐ์ ๋ํด DNS๋ฅผ ์ํํ๊ณ , ZK ๋ณต์ ์ธํธ์ DNS ์ด๋ฆ์ ํ ๋นํ๊ณ ,
ํด๋ผ์ด์ธํธ๊ฐ DNS๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
4) kubernetes ์๋ํฌ์ธํธ๋ฅผ ๋๊ธฐํํ๋ ๊ฐ ZK์ ํจ๊ป kube2zk ๋ธ๋ฆฌ์ง ์คํ ->
ZK ๊ตฌ์ฑ
5) ๋ ๋ง์ VIP ๋๋ ์ง์๋ฅผ ํ ๋นํ๋ ๋์ฒด ๋ฐฉ๋ฒ์ ์ค๊ณํ์ญ์์ค.
์๋น์ค ์ค์ฌ๋ณด๋ค ๊ต์ฒด ์ปจํธ๋กค๋ฌ ์ค์ฌ์
๋๋ค. ๋ธ๋๋ ๊ณผ ๋
์ผ๋ง ์ ์ ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ์์ด๋์ด๋ฅผ ๋ธ๋ ์ธ์คํ ๋ฐํ์ง๋ง ๋ฐ๋ผํ ์๊ฐ์ด ์์์ต๋๋ค.
์ฌ๋ผ๊ฐ์.
์ญ๋ฐฉํฅ DNS์ ๊ฒฝ์ฐ - ๊ทธ ์ญํ ์ด ํ์คํ์ง ์์ต๋๊น? ๋๋ ๋ฐ๋ํ์ง ์๋๋ค
๊ทธ๊ฒ์ ์ง์ํฉ๋๋ค(์ฆ, @bketelsen ์๊ฒ ์ง์์ ์์ฒญ
์ฌ๊ธฐ์ ์ ์ฉ๋ฉ๋๋ค. ํธ๋ํฝ์ ์๋น์ค IP "์์" ์ค์ง ์์ต๋๋ค.
ํ
2015๋
3์ 7์ผ ํ ์์ผ ์คํ 8์ 56๋ถ, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:
@timothysc https://github.com/timothysc ์ ์ํ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์๋ํฉ๋๋ค.
zk1, zk2 ๋ฐ zk3์ ์๋น์ค์์ผ๋ฉฐ ์ ์ด๋ ํ ๋ฒ์ ๋ค์ค ํฌํธ ์๋น์ค๊ฐ
์ง์.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -77733331
.
(5) ์ด ์ ์์ฒ๋ผ ๋ค๋ฆฝ๋๋ค.
๋๋ 5์ ์ด๋ ฌํ ํฌ์ ๋๋ค. ์์ ์ ์ญํ ์ด 1๋จ๊ณ๋ผ๋ ๊ฒ์ ์๊ณ ์๋ ํฌ๋, DNS ์๋ณ์ ๊ฐ๋ ๊ณ ์ ํ ํฌ๋ ๋๋ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ IP๋ฅผ ๊ฐ์ ธ์ค๊ณ ์ด์ ๋ฐ์ํ๋ ํฌ๋๋ 2์ ๋๋ค. ์์ ์ ์ธ ์ญํ ID๋ก ์๋ํฌ์ธํธ์์ ํฌ๋ IP๋ฅผ ์กฐํํ ์ ์๋ ๊ฒ์ ์ธ ๋ฒ์งธ์ ๋๋ค.
2015๋ 3์ 8์ผ ์ค์ 11์ 6๋ถ์ Tim Hockin [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์, ํ์ง๋ง ์ฌ๊ธฐ์ ๋ชป์๊ธด ๊ฒ์ด ์์ต๋๋ค.
์คํ ์ค์ธ ํฌ๋๋ ์ด๋ค ์๋น์ค๊ฐ "์์" ์๋์ง ๋ชจ๋ฆ ๋๋ค. ์: ์๋น์ค ์ ๊ณต
ํ๋์ ๋ฐฑ์๋ ์ธ์คํด์ค์์ ์๋น์ค์ ์ก์ธ์คํ๋ ๋ฐ ์ฌ์ฉ๋ VIP๋
๋ฐฑ์๋(์๋น์ค๋ฅผ ์๊ณ ๊ทธ ์ ๋ณด๋ฅผ ์ฐพ์ง ์๋ ํ
์ด๋ฆ). ๋ช ๋ชฉ ์๋น์ค(N)์๋ N๊ฐ์ ๋ฐฑ์๋์ N๊ฐ์ VIP๊ฐ ์์ต๋๋ค.
์๋ง๋ N๊ฐ์ DNS ์ด๋ฆ ๋๋ N-์ฃผ์ ์ด๋ฆ), ๊ทธ๋ฌ๋ ๋ฐฑ์๋๋ ์ฌ์ ํ
์์ ์ VIP๋ฅผ ๋ชจ๋ฆ ๋๋ค. ๊ทธ๋ค์ DNS ์ด๋ฆ ํ์ ๊ด์ฐฐํ ์ ์์ง๋ง
์ด๋ ๊ฒ์ด ์๊ธฐ ์์ ์ธ์ง (ํ์ ์์ด) ๋ชจ๋ฆ ๋๋ค. ์ด๊ฒ์ ๋น์ ์ ZK๋ฅผ ๋ง๋ค ๊ฒ์ ๋๋ค
VIP๋ฅผ ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ(VIP๋ ํ์ฌ ๊ด์ฐฐ ๊ฐ๋ฅํ๊ฒ ํ๋ก์๋จ).๋์:
1) 1๊ฐ์ ์๋น์ค(N)๋ฅผ ์ค์ ํ๊ณ ๊ฐ ์ธ์คํด์ค๊ฐ ๋ชจ๋ VIP๋ฅผ ์์ฒด์ ์ผ๋ก ์กฐ์ฌํ๋๋ก ํฉ๋๋ค.
2) N service(1) ์ธ์คํด์ค๋ฅผ ์ค์ ํ๊ณ ๋ ์ด๋ธ ๋ฐ cmdline ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ
์๋์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ํ ๋นํ๊ณ ๊ฐ ZK ๋ฐฑ์๋๊ฐ (์ ํ์ ์ผ๋ก) DNS ์ด๋ฆ์ ์๋๋ก ํฉ๋๋ค.
์๋ก์ ZK ๋ฐฑ์๋3) ๋ ์ด๋ธ ์ ํ๊ธฐ์ ๋ํด DNS๋ฅผ ์ํํ๊ณ , ZK ๋ณต์ ์ธํธ์ DNS ์ด๋ฆ์ ํ ๋นํ๊ณ ,
ํด๋ผ์ด์ธํธ๊ฐ DNS๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.4) kubernetes ์๋ํฌ์ธํธ๋ฅผ ๋๊ธฐํํ๋ ๊ฐ ZK์ ํจ๊ป kube2zk ๋ธ๋ฆฌ์ง ์คํ ->
ZK ๊ตฌ์ฑ5) ๋ ๋ง์ VIP ๋๋ ์ง์๋ฅผ ํ ๋นํ๋ ๋์ฒด ๋ฐฉ๋ฒ์ ์ค๊ณํ์ญ์์ค.
์๋น์ค ์ค์ฌ๋ณด๋ค ๊ต์ฒด ์ปจํธ๋กค๋ฌ ์ค์ฌ์ ๋๋ค. ๋ธ๋๋ ๊ณผ ๋
์ผ๋ง ์ ์ ์ฌ๊ธฐ์ ๋ช ๊ฐ์ง ์์ด๋์ด๋ฅผ ๋ธ๋ ์ธ์คํ ๋ฐํ์ง๋ง ๋ฐ๋ผํ ์๊ฐ์ด ์์์ต๋๋ค.
์ฌ๋ผ๊ฐ์.์ญ๋ฐฉํฅ DNS์ ๊ฒฝ์ฐ - ๊ทธ ์ญํ ์ด ํ์คํ์ง ์์ต๋๊น? ๋๋ ๋ฐ๋ํ์ง ์๋๋ค
๊ทธ๊ฒ์ ์ง์ํฉ๋๋ค(์ฆ, @bketelsen ์๊ฒ ์ง์์ ์์ฒญ
์ฌ๊ธฐ์ ์ ์ฉ๋ฉ๋๋ค. ํธ๋ํฝ์ ์๋น์ค IP "์์" ์ค์ง ์์ต๋๋ค.ํ
2015๋ 3์ 7์ผ ํ ์์ผ ์คํ 8์ 56๋ถ, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:@timothysc https://github.com/timothysc ์ ์ํ ๋ด์ฉ์ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ ์๋ํฉ๋๋ค.
zk1, zk2 ๋ฐ zk3์ ์๋น์ค์์ผ๋ฉฐ ์ ์ด๋ ํ ๋ฒ์ ๋ค์ค ํฌํธ ์๋น์ค๊ฐ
์ง์.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -77733331
.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
๊ทธ๋ผ ์๊ฐ์ ์ข ๋ ๋ฒ์ด์ ์ด ์์ด๋์ด๋ฅผ ์์ฑํด์ผ๊ฒ ์ต๋๋ค.
2015๋
3์ 8์ผ ์ผ์์ผ ์ค์ 10์ 25๋ถ, Clayton Coleman [email protected]
์ผ๋ค:
๋๋ 5์ ์ด๋ ฌํ ํฌ์ ๋๋ค - ๊ทธ๋ค์ ์ญํ ์ด 1๋จ๊ณ๋ผ๋ ๊ฒ์ ์๊ณ ์๋ ํฌ๋, ํฌ๋
๊ณ ์ ํ DNS ์๋ณ์ ๊ฐ๊ฑฐ๋ ์๋ํฌ์ธํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์ฌ๋์ IP๋ฅผ ๊ฐ์ ธ์ค๊ณ
๊ทธ๊ฒ์ ๋ํ ๋ฐ์์ ๋ ๊ฐ์ง์ ๋๋ค. ์๋ํฌ์ธํธ์์ ํ(Pod) IP๋ฅผ ์กฐํํ ์ ์์
์์ ์ ์ธ ์ญํ ID๋ ์ธ ๋ฒ์งธ์ ๋๋ค.2015๋ 3์ 8์ผ ์ค์ 11:06, Tim Hockin [email protected]
์ผ๋ค:์, ํ์ง๋ง ์ฌ๊ธฐ์ ๋ชป์๊ธด ๊ฒ์ด ์์ต๋๋ค.
์คํ ์ค์ธ ํฌ๋๋ ์ด๋ค ์๋น์ค๊ฐ "์์" ์๋์ง ๋ชจ๋ฆ ๋๋ค. ์๋ฅผ ๋ค์ด
์๋น์ค
ํ๋์ ๋ฐฑ์๋ ์ธ์คํด์ค ์ค ์๋น์ค์ ์ก์ธ์คํ๋ ๋ฐ ์ฌ์ฉ๋ VIP๋ฅผ ์ ์ ์์
~์ ์ํด
๋ฐฑ์๋(์๋น์ค๋ฅผ ์๊ณ ๊ทธ ์ ๋ณด๋ฅผ ์ฐพ์ง ์๋ ํ
์ด๋ฆ). ๋ช ๋ชฉ ์๋น์ค(N)์๋ N๊ฐ์ ๋ฐฑ์๋์ N๊ฐ์ VIP๊ฐ ์์ต๋๋ค.
(๊ทธ๋ฆฌ๊ณ
์๋ง๋ N๊ฐ์ DNS ์ด๋ฆ ๋๋ N-์ฃผ์ ์ด๋ฆ), ๊ทธ๋ฌ๋ ๋ฐฑ์๋๋
์์ง
์์ ์ VIP๋ฅผ ๋ชจ๋ฆ ๋๋ค. ๊ทธ๋ค์ DNS ์ด๋ฆ ํ์ ๊ด์ฐฐํ ์ ์์ง๋ง
์ด๋ ๊ฒ์ด ์๊ธฐ ์์ ์ธ์ง (ํ์ ์์ด) ๋ชจ๋ฆ ๋๋ค. ์ด๊ฒ์ ๋น์ ์ ZK๋ฅผ ๋ง๋ค ๊ฒ์ ๋๋ค
VIP๋ฅผ ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ(VIP๋ ํ์ฌ ๊ด์ฐฐ ๊ฐ๋ฅํ๊ฒ ํ๋ก์๋จ).๋์:
1) 1๊ฐ์ ์๋น์ค(N)๋ฅผ ์ค์ ํ๊ณ ๊ฐ ์ธ์คํด์ค๊ฐ ๋ชจ๋ VIP๋ฅผ ์์ฒด์ ์ผ๋ก ์กฐ์ฌํ๋๋ก ํฉ๋๋ค.
2) N service(1) ์ธ์คํด์ค๋ฅผ ์ค์ ํ๊ณ ๋ ์ด๋ธ ๋ฐ cmdline ํ๋๊ทธ๋ฅผ ์ฌ์ฉํ์ฌ
์๋์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ํ ๋นํ๊ณ ๊ฐ ZK ๋ฐฑ์๋๊ฐ (์ ํ์ ์ผ๋ก) DNS๋ฅผ ์๋๋ก ํฉ๋๋ค.
์ด๋ฆ
์๋ก์ ZK ๋ฐฑ์๋3) ๋ ์ด๋ธ ์ ํ๊ธฐ์ ๋ํด DNS๋ฅผ ์ํํ๊ณ , ZK ๋ณต์ ์ธํธ์ DNS ์ด๋ฆ์ ํ ๋นํ๊ณ ,
ํด๋ผ์ด์ธํธ๊ฐ DNS๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์ฌ์ฉํ๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.4) kubernetes ์๋ํฌ์ธํธ๋ฅผ ๋๊ธฐํํ๋ ๊ฐ ZK์ ํจ๊ป kube2zk ๋ธ๋ฆฌ์ง๋ฅผ ์คํํฉ๋๋ค.
->
ZK ๊ตฌ์ฑ5) ๋ ๋ง์ VIP ๋๋ ์ง์๋ฅผ ํ ๋นํ๋ ๋์ฒด ๋ฐฉ๋ฒ์ ์ค๊ณํ์ญ์์ค.
์๋น์ค ์ค์ฌ๋ณด๋ค ๊ต์ฒด ์ปจํธ๋กค๋ฌ ์ค์ฌ์ ๋๋ค. ๋ธ๋๋ ๊ณผ ๋
์ผ๋ง ์ ์ ์ฌ๊ธฐ์์ ๋ช ๊ฐ์ง ์์ด๋์ด๋ฅผ ๋ธ๋ ์ธ์คํ ๋ฐํ์ง๋ง ํ ์๊ฐ์ด ์์์ต๋๋ค.
๋ฐ๋ฅด๋ค
์ฌ๋ผ๊ฐ์.์ญ๋ฐฉํฅ DNS์ ๊ฒฝ์ฐ - ๊ทธ ์ญํ ์ด ํ์คํ์ง ์์ต๋๊น? ๋๋ ๋ฐ๋ํ์ง ์๋๋ค
๊ทธ๊ฒ์ ์ง์ํฉ๋๋ค(์ฆ, @bketelsen ์๊ฒ ์ง์์ ์์ฒญ
์ฌ๊ธฐ์ ์ ์ฉ๋ฉ๋๋ค. ํธ๋ํฝ์ ์๋น์ค IP "์์" ์ค์ง ์์ต๋๋ค.ํ
2015๋ 3์ 7์ผ ํ ์์ผ ์คํ 8์ 56๋ถ, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:@timothysc https://github.com/timothysc ๋น์ ์ด ์ ์ํ ๊ฒ์ด ํจ๊ณผ๊ฐ ์์ ๊ฒ์ ๋๋ค
๋ง์ฝ
zk1, zk2 ๋ฐ zk3์ ์๋น์ค์์ผ๋ฉฐ ์ ์ด๋ ํ ๋ฒ์ ๋ค์ค ํฌํธ ์๋น์ค๊ฐ
์ง์.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
<
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment-77733331>.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -77762731
.
@thockin re: ์ญ DNS, ๊ทธ๋ฅ ์์ ํ๋ค๊ณ ์๊ตฌ ์ฌํญ์ด๋ผ๊ณ ์๊ฐํฉ์๋ค.
ZK๋ ๋ค๋ฅธ ๋ง์ ๋ถ์ฐ ์์คํ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ฒ์ด ์์ผ๋ฉด ์ค๋จ๋ฉ๋๋ค.
์์ฑํ๋ ๊ฐ ํฌ๋์ ๊ณ ์ ํ ๋ ์ด๋ธ(members=#)์ ์ ์ฉํ๊ณ N๊ฐ์ ๋ณต์ ๋ณธ๊น์ง ์ํ์ค ์์ฑ์ ์๋ํ RC ๋ฐ "๊ตฌ์ฑ์" ๋ ์ด๋ธ(# .service.namespace.local), ์ฌ๊ธฐ์ ๋ฃจํธ๋ ๋ชจ๋ service.namespace.local -> ๋ผ์ด๋ ๋ก๋น -> 1.service.namespace.local, 2.service.namespace.local์ ๋ก์ปฌ๋ก ์ ๊ณตํฉ๋๋ค.
๊ฐ๋ณ DNS ๋ ์ด๋ธ์ ๋ํด ์๊ฒฉํ ํฌ๋ IP๋ฅผ _์ฌ์ฉ_ํ ์ ์์ต๋๋ค. ๊ฐ๊ฐ์ ๋ํด ๊ฐ์ง IP๋ฅผ ๋ง๋๋ ๊ฒ์ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ ์ปจํ ์ด๋๋ ์์ ์ IP๋ฅผ ๋๊ตฐ๊ฐ์๊ฒ ๋ณด๋ผ ์ ์์ต๋๋ค.
----- ์๋ณธ ๋ฉ์์ง -----
@thockin re: ์ญ DNS, ์์ ํ๋ค๊ณ ์๊ฐํด ๋ด ์๋ค.
์๊ตฌ ์ฌํญ.ZK๋ ๋ค๋ฅธ ๋ง์ ๋ถ์ฐ ์์คํ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ฒ์ด ์์ผ๋ฉด ์ค๋จ๋ฉ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -77883369
@timothysc re: ์ญ DNS - ์ญ DNS๊ฐ ๋ฌด์์
๋๊น? ์์ค-IP
์ฌ์ด? ๊ทธ ์ค ์ด๋ ๊ฒ๋ kube์์ ์๋ํ์ง ์์ต๋๋ค. ์๋น์ค๋ฅผ ํตํ ์ฐ๊ฒฐ์
ํ๋ก์ ์ฒ๋ฆฌ๋๋ฏ๋ก source-ip๊ฐ ์ฒ์๋ถํฐ ์๋ํ์ง ์์ต๋๋ค(๊ณ ์น ์ ์์).
๋๋ ZK๋ฅผ ๋ชจ๋ฅธ๋ค - ๊ทธ๋ค์ด ์ญ์ผ๋ก ์ป์ผ๋ ค๊ณ ํ๋ ๊ฒ์ ์ค๋ช
ํ ์ ์๋?
DNS? ๋งค์ฐ ์ฐ์ฝํ ๊ฐ์ ์ฒ๋ผ ๋ณด์
๋๋ค.
2015๋
3์ 9์ผ ์์์ผ ์ค์ 9์ 5๋ถ, Timothy St. Clair [email protected]
์ผ๋ค:
@thockin https://github.com/thockin re: ์ญ DNS, ๊ทธ๋ฅ ํ๋ค์
์ฐ๋ฆฌ์ ์์ ๋ํ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํฉ๋๋ค.ZK๋ ๋ค๋ฅธ ๋ง์ ๋ถ์ฐ ์์คํ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ฒ์ด ์์ผ๋ฉด ์ค๋จ๋ฉ๋๋ค.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -77883369
.
๋ด ๊ฒฝํ(๋ฐ Tim์ ๊ฒฝ์ฐ)์ ์ค๋๋ ๋๋ถ๋ถ์ ํด๋ฌ์คํฐํ ์ํํธ์จ์ด๊ฐ ๋ค์์ ๊ธฐ๋ํ๋ค๋ ๊ฒ์ ๋๋ค.
----- ์๋ณธ ๋ฉ์์ง -----
@timothysc re: ์ญ DNS - ์ญ DNS๊ฐ ๋ฌด์์ ๋๊น? ์์ค-IP
์ฌ์ด? ๊ทธ ์ค ์ด๋ ๊ฒ๋ kube์์ ์๋ํ์ง ์์ต๋๋ค. ์๋น์ค๋ฅผ ํตํ ์ฐ๊ฒฐ์
ํ๋ก์ ์ฒ๋ฆฌ๋๋ฏ๋ก source-ip๊ฐ ์ฒ์๋ถํฐ ์๋ํ์ง ์์ต๋๋ค(๊ณ ์น ์ ์์).๋๋ ZK๋ฅผ ๋ชจ๋ฅธ๋ค - ๊ทธ๋ค์ด ์ญ์ผ๋ก ์ป์ผ๋ ค๊ณ ํ๋ ๊ฒ์ ์ค๋ช ํ ์ ์๋?
DNS? ๋งค์ฐ ์ฐ์ฝํ ๊ฐ์ ์ฒ๋ผ ๋ณด์ ๋๋ค.2015๋ 3์ 9์ผ ์์์ผ ์ค์ 9์ 5๋ถ, Timothy St. Clair [email protected]
์ผ๋ค:@thockin https://github.com/thockin re: ์ญ DNS, ๊ทธ๋ฅ ํ๋ค์
์ฐ๋ฆฌ์ ์์ ๋ํ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํฉ๋๋ค.ZK๋ ๋ค๋ฅธ ๋ง์ ๋ถ์ฐ ์์คํ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ฒ์ด ์์ผ๋ฉด ์ค๋จ๋ฉ๋๋ค.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -77883369
.์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78063150
2015๋
3์ 9์ผ ์์์ผ ์คํ 12:49 Clayton Coleman
[email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์์ฑํ๋ ๊ฐ ํฌ๋์ ๊ณ ์ ํ ๋ ์ด๋ธ(๊ตฌ์ฑ์=#)์ ์ ์ฉํ๊ณ ์ต๋ ์ํ์ค ์์ฑ์ ์๋ํ๋ RC
N๊ฐ์ ๋ณต์ ๋ณธ๊ณผ "๊ตฌ์ฑ์"์ ๊ฐ ๊ฐ์ ๋ํด A ๋ฐ CNAME ์ด๋ฆ์ ์์ฑํ ํค๋๋ฆฌ์ค ์๋น์ค
๋ ์ด๋ธ(#.service.namespace.local), ์ฌ๊ธฐ์ ๋ฃจํธ๋ ๋ชจ๋ service.namespace.local -> ๋ผ์ด๋๋ฅผ ์ ๊ณตํ์ต๋๋ค.
robin -> 1.service.namespace.local, 2.service.namespace.local์ด ๋ก์ปฌ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
Brendan๊ณผ ๋ด๊ฐ ๋น๊ตด๊ณ ์๋ค๋ ์๊ฐ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์์์ฅ์ด์์ต๋๋ค.
ํ ํฐ, ์๋ง๋ RC์ ์ผ๋ถ์ผ ์๋ ์๊ณ ์๋ ์๋ ์์ต๋๋ค. RC์ ๊ฐ ์์๋
๋ฐฐ์ ๋ ๊ฒ์
๋๋ค. ํด๋น ํ ํฐ์ด ์ฃผ์ด์ง๋ฉด ๋ค๋ฅธ ๊ฒ์ด ํ ๋น๋ ์ ์์ต๋๋ค.
๋ฌธ์ ๋ "์์ ํ ํฐ"์
์๋ฏธ์๋ ๊ฒ.
๊ฐ๋ณ DNS ๋ ์ด๋ธ์ ๋ํด ์๊ฒฉํ ํฌ๋ IP๋ฅผ _์ฌ์ฉ_ํ ์ ์์ต๋๋ค. ๊ฐ๊ฐ์ ๋ํด ๊ฐ์ง IP๋ฅผ ๋ง๋๋ ๊ฒ์ ๋น์ฉ์ด ๋ง์ด ๋ค๊ณ ์ปจํ ์ด๋๋ ์์ ์ IP๋ฅผ ๋๊ตฐ๊ฐ์๊ฒ ๋ณด๋ผ ์ ์์ต๋๋ค.
์๋ํ์ง๋ ์์์ง๋ง ๋ช
๋ชฉ ์๋น์ค๊ฐ ์ ์ฒด SNAT๋ฅผ ์ํํ๋๋ก ํ ์ ์์ต๋๋ค.
๋ฐ DNAT๋ 1:1์ด๋ฏ๋ก. ์์ ์ ์ทจํ๋ ๋ฐฉ๋ฒ์ด ๋ ๊ฒ์
๋๋ค.
๋ง์ด๊ทธ๋ ์ด์
๊ฐ๋ฅํ IP๊ฐ ์๋ ํฌ๋๋น IP.
----- ์๋ณธ ๋ฉ์์ง -----
@thockin re: ์ญ DNS, ์์ ํ๋ค๊ณ ์๊ฐํด ๋ด ์๋ค.
์๊ตฌ ์ฌํญ.ZK๋ ๋ค๋ฅธ ๋ง์ ๋ถ์ฐ ์์คํ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ฒ์ด ์์ผ๋ฉด ์ค๋จ๋ฉ๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -77883369โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
๋ด๊ฐ ์๋ฅ๋ก ํค์์น๋ ๊ฒ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ค - ์ถฉ๋ถํ ์ฑ์ด ์ค์ ๋ก DNS๊ฐ
์ด ๋ฐฉ์์ผ๋ก ์๋ํ๋ฉด ์ด ๋ฐฉ์์ผ๋ก ์๋ํ ์ ์์ต๋๋ค.
์ค์ผ์น:
๋ณต์ ์ปจํธ๋กค๋ฌ ๋ง๋ค๊ธฐ R์ DNS ์ด๋ฆ "$R.rc"๋ฅผ ๋ง๋ญ๋๋ค.
ํด๋น RC "์๋"์ ์๋ ํฌ๋ IP ํ. ๊ฐ ํฌ๋ P๋ DNS ์ด๋ฆ์ ์ป์ต๋๋ค.
"$P.$R.rc". ๊ทธ๋ฌ๋ P๋ ๋ฌด์์
๋๊น? ๋จ์ํ ์ง์์ผ ์ ์์ง๋ง
์ฐ๋ฆฌ๋ฅผ ๋ด๋ถ์ ์ผ๋ก ์ธ๊ฒ ๋ฌผ์์ต๋๋ค. GenerateName๊ณผ ๊ฐ์ ์์์ ๋ฌธ์์ด์ผ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๊ทธ๋ค์ ํฌ๋ ์ฌ๋ง/์ฌ์์์์ ์ด์๋จ์์ผ ํฉ๋๋ค(์๋ง๋ ํฌ๋ ํธ์คํธ ์ด๋ฆ์
์ฑ๋ฅ?).
2015๋
3์ 10์ผ ํ์์ผ ์ค์ 7:59, Clayton Coleman [email protected]
์ผ๋ค:
๋ด ๊ฒฝํ(๋ฐ ์๋ง๋ Tim์ ๊ฒฝ์ฐ)์ ๋๋ถ๋ถ์ ํด๋ฌ์คํฐ๊ฐ
์ค๋๋ ์ํํธ์จ์ด๋ ๋ค์์ ๊ธฐ๋ํฉ๋๋ค.
- ๊ฐ ๋ ธ๋์๋ ์์ ์ ์ธ ID๊ฐ ์์ต๋๋ค.
- ํด๋น ID๋ DNS ์ด๋ฆ์ ๋๋ค.
- ๊ธฐ๋ณธ ID์ IP๊ฐ ์์ ์ ์ผ ํ์๋ ์์ต๋๋ค.
- ๋ ธ๋๋ ์์ ์ ์ธ
ID(DNS) ๋๋ ํด๋น ๊ณต์ฉ IP- ํด๋ฌ์คํฐ๋ ์ํํธ์จ์ด ์ค ์ผ๋ถ๋ ๋ ธ๋์ IP๋ฅผ ํด๋ผ์ด์ธํธ๋ก ์์ํฉ๋๋ค.
์์ ์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ์๋ฆด ์ ์๋ IP์ ์ผ์นํ๋๋ก ๋๋ฌ
ํด๋ฌ์คํฐ ๋ฐ ํด๋น IP์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.----- ์๋ณธ ๋ฉ์์ง -----
@timothysc re: ์ญ DNS - ์ญ DNS๊ฐ ๋ฌด์์ ๋๊น? ์์ค-IP
์ฌ์ด? ๊ทธ ์ค ์ด๋ ๊ฒ๋ kube์์ ์๋ํ์ง ์์ต๋๋ค. ์๋น์ค๋ฅผ ํตํ ์ฐ๊ฒฐ์
ํ๋ก์ ์ฒ๋ฆฌ๋๋ฏ๋ก source-ip๊ฐ ์ฒ์๋ถํฐ ์๋ํ์ง ์์ต๋๋ค(๊ณ ์น ์ ์์).๋๋ ZK๋ฅผ ๋ชจ๋ฅธ๋ค - ๊ทธ๋ค์ด ์ญ์ผ๋ก ์ป์ผ๋ ค๊ณ ํ๋ ๊ฒ์ ์ค๋ช ํ ์ ์๋?
DNS? ๋งค์ฐ ์ฐ์ฝํ ๊ฐ์ ์ฒ๋ผ ๋ณด์ ๋๋ค.2015๋ 3์ 9์ผ ์์์ผ ์ค์ 9:05, Timothy St. Clair <
์๋ฆผ@github.com>
์ผ๋ค:@thockin https://github.com/thockin re: ์ญ DNS, ๊ทธ๋ฅ ํ๋ค์
์ฐ๋ฆฌ์ ์์ ๋ํ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํฉ๋๋ค.ZK๋ ๋ค๋ฅธ ๋ง์ ๋ถ์ฐ ์์คํ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ฒ์ด ์์ผ๋ฉด ์ค๋จ๋ฉ๋๋ค.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
<
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -77883369.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78063150
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78071406
.
๋๋ DNS๊ฐ RC๊ฐ ์๋ ๋ช ๋ชฉ ์๋น์ค์ ์ฐ๊ฒฐ๋๋ ๊ฒ์ ์ข์ํฉ๋๋ค.
๋ด๋ถ์ ์ผ๋ก ๋จ์ ์ง์์ ์ ๋ก์ ์ ๋ฌด์์ด์์ต๋๊น? ํผ > 5000?
----- ์๋ณธ ๋ฉ์์ง -----
๋ด๊ฐ ์๋ฅ๋ก ํค์์น๋ ๊ฒ์ ๊ฑฐ๋ฆฌ๊ฐ ๋ฉ๋ค - ์ถฉ๋ถํ ์ฑ์ด ์ค์ ๋ก DNS๊ฐ
์ด ๋ฐฉ์์ผ๋ก ์๋ํ๋ฉด ์ด ๋ฐฉ์์ผ๋ก ์๋ํ ์ ์์ต๋๋ค.์ค์ผ์น:
๋ณต์ ์ปจํธ๋กค๋ฌ ๋ง๋ค๊ธฐ R์ DNS ์ด๋ฆ "$R.rc"๋ฅผ ๋ง๋ญ๋๋ค.
ํด๋น RC "์๋"์ ์๋ ํฌ๋ IP ํ. ๊ฐ ํฌ๋ P๋ DNS ์ด๋ฆ์ ์ป์ต๋๋ค.
"$P.$R.rc". ๊ทธ๋ฌ๋ P๋ ๋ฌด์์ ๋๊น? ๋จ์ํ ์ง์์ผ ์ ์์ง๋ง
์ฐ๋ฆฌ๋ฅผ ๋ด๋ถ์ ์ผ๋ก ์ธ๊ฒ ๋ฌผ์์ต๋๋ค. GenerateName๊ณผ ๊ฐ์ ์์์ ๋ฌธ์์ด์ผ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ ๊ทธ๋ค์ ํฌ๋ ์ฌ๋ง/์ฌ์์์์ ์ด์๋จ์์ผ ํฉ๋๋ค(์๋ง๋ ํฌ๋ ํธ์คํธ ์ด๋ฆ์
์ฑ๋ฅ?).2015๋ 3์ 10์ผ ํ์์ผ ์ค์ 7:59, Clayton Coleman [email protected]
์ผ๋ค:๋ด ๊ฒฝํ(๋ฐ ์๋ง๋ Tim์ ๊ฒฝ์ฐ)์ ๋๋ถ๋ถ์ ํด๋ฌ์คํฐ๊ฐ
์ค๋๋ ์ํํธ์จ์ด๋ ๋ค์์ ๊ธฐ๋ํฉ๋๋ค.
- ๊ฐ ๋ ธ๋์๋ ์์ ์ ์ธ ID๊ฐ ์์ต๋๋ค.
- ํด๋น ID๋ DNS ์ด๋ฆ์ ๋๋ค.
- ๊ธฐ๋ณธ ID์ IP๊ฐ ์์ ์ ์ผ ํ์๋ ์์ต๋๋ค.
- ๋ ธ๋๋ ์์ ์ ์ธ
ID(DNS) ๋๋ ํด๋น ๊ณต์ฉ IP- ํด๋ฌ์คํฐ๋ ์ํํธ์จ์ด ์ค ์ผ๋ถ๋ ๋ ธ๋์ IP๋ฅผ ํด๋ผ์ด์ธํธ๋ก ์์ํฉ๋๋ค.
์์ ์ ๋ค๋ฅธ ์ฌ๋์๊ฒ ์๋ฆด ์ ์๋ IP์ ์ผ์นํ๋๋ก ๋๋ฌ
ํด๋ฌ์คํฐ ๋ฐ ํด๋น IP์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.----- ์๋ณธ ๋ฉ์์ง -----
@timothysc re: ์ญ DNS - ์ญ DNS๊ฐ ๋ฌด์์ ๋๊น? ์์ค-IP
์ฌ์ด? ๊ทธ ์ค ์ด๋ ๊ฒ๋ kube์์ ์๋ํ์ง ์์ต๋๋ค. ์๋น์ค๋ฅผ ํตํ ์ฐ๊ฒฐ์
ํ๋ก์ ์ฒ๋ฆฌ๋๋ฏ๋ก source-ip๊ฐ ์ฒ์๋ถํฐ ์๋ํ์ง ์์ต๋๋ค(๊ณ ์น ์ ์์).๋๋ ZK๋ฅผ ๋ชจ๋ฅธ๋ค - ๊ทธ๋ค์ด ์ญ์ผ๋ก ์ป์ผ๋ ค๊ณ ํ๋ ๊ฒ์ ์ค๋ช ํ ์ ์๋?
DNS? ๋งค์ฐ ์ฐ์ฝํ ๊ฐ์ ์ฒ๋ผ ๋ณด์ ๋๋ค.2015๋ 3์ 9์ผ ์์์ผ ์ค์ 9:05, Timothy St. Clair <
์๋ฆผ@github.com>
์ผ๋ค:@thockin https://github.com/thockin re: ์ญ DNS, ๊ทธ๋ฅ ํ๋ค์
์ฐ๋ฆฌ์ ์์ ๋ํ ์๊ตฌ ์ฌํญ์ ๊ณ ๋ คํฉ๋๋ค.ZK๋ ๋ค๋ฅธ ๋ง์ ๋ถ์ฐ ์์คํ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ด๊ฒ์ด ์์ผ๋ฉด ์ค๋จ๋ฉ๋๋ค.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
<
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -77883369.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78063150
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78071406
.์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78080138
ํน์ ์ผ์ด์ค 1:1 VIP์ +1. ๋๋ ๊ทธ๊ฒ์ด ์ผ๋ฐ์ ์ธ ๊ฒฝ์ฐ๋ผ๊ณ ์๊ฐํฉ๋๋ค.
๋๋ ์ฌ์ ํ DNS ๋งคํ์ ๋์ ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋ํด ๊ฑฑ์ ํ๊ณ ์์ต๋๋ค. ๋๋ ๊ทธ๊ฒ์ด ํ์ํ์ง ์์ ์ ๊ทผ ๋ฐฉ์์ ์ ํธํฉ๋๋ค.
๋์์ ํ๊ฐํ ๋ ์ผ๋์ ๋์ด์ผ ํ ์ ์ ๊ฒฐ๊ตญ ๋์ผํ ์ญํ ์ ํ๋ 2๊ฐ์ ํฌ๋๊ฐ ๋์์ ๊ณต์กดํ ํ์๊ฐ ์์ ๊ฒ์ด๋ผ๊ณ 100% ํ์ ํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ์ญํ ์ ๊ฐ์ฒด ์ด๋ฆ์ด๋ ๊ณ ์ ํด์ผ ํ๊ณ ํฌ๋ ์์ฑ ์ ๊ณ ์ ์ ์ผ๋ก ์ค์ ๋์ด์ผ ํ๋ ๋ค๋ฅธ ๊ฒ์ ์ฐ๊ฒฐ๋ ์ ์์ต๋๋ค.
์ญํ ํ ๋น ๋ฉ์ปค๋์ฆ์ ๋ณต์ ์ปจํธ๋กค๋ฌ์ ์ฐ๊ฒฐํ๋ฉด ๋กค๋ง ์ ๋ฐ์ดํธ, ์นด๋๋ฆฌ์ ๋ฑ์ ๊ฑฐ์ ๋ฐฐ์ ํ ์ ์์ต๋๋ค. ๊ฐ๋ฅํ๋ฉด ์ด๋ฅผ ํผํ๊ณ ์ถ์ต๋๋ค.
@smarterclayton ๋จ์ ์ธ๋ฑ์ค๋ ๊ท๋ชจ๋ก ์ธํด ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ๋ฐ๋ก ๋ชจ๋ธ ๋๋ฌธ์ ๋๋ค. ๋ช ๋ถ ์ ์ ๋ด ์๊ฒฌ์ ์ฐธ์กฐํ์ญ์์ค. ํฌ๋ ๋ฐ RC ID์ ๋ ๋ฆฝ์ ์ผ๋ก ๋์ ์ผ๋ก ํ ๋นํ ์ ์๋ ๊ฒฝ์ฐ ๊ฐ๋จํ ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฌธ์ ์ค ํ๋๊ฐ ์์คํ ์งํฅ์ ์ธ ๊ฐ์ ์ด๋ผ๋ ์ ์ ๊ฐ์ํ ๋ ์ฌ๊ธฐ์์ Linux๊ฐ ์ฐ๋ฆฌ๋ฅผ ์ํด ํ ์ ์๋ ์ผ์ด ์์ต๋๊น? ์๋ฅผ ๋ค์ด, ์๋น์ค VIP์ฉ ์ปจํ ์ด๋์ IP ๋ณ์นญ์ ๋ง๋ค ์ ์์ต๋๊น?
์๋ค ์,
์ด๋ฒ ์ฃผ ๋ด๋ด ์ธ์ถ ์ค์
๋๋ค. ์ด๊ฒ์ ์ ๋ง ์ฌ๋ฏธ์๋ ๋ํ์ด์ง๋ง,
๋ด๊ฐ ๊ฐ์ง ์๊ฐ๋ณด๋ค ๋ ๋ง์ ์๊ฐ. ๋๋ ์์์ ์ง์ง๋ก ํ ๋ก ํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค.
๋ค์์ฃผ ์๊ฐ.
2015๋
3์ 10์ผ ํ์์ผ ์คํ 3์ 56๋ถ, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:
๋ฌธ์ ์ค ํ๋๊ฐ ์์คํ ์งํฅ์ ๊ฐ์ ์ด๋ผ๋ ์ ์ ๊ฐ์ํ ๋
์ฌ๊ธฐ์์ Linux๊ฐ ์ฐ๋ฆฌ๋ฅผ ์ํด ๋ฌด์์ ํ ์ ์์ต๋๊น? ์๋ฅผ ๋ค์ด IP๋ฅผ ๋ง๋ค ์ ์์ต๋๊น?
์๋น์ค VIP์ ์ปจํ ์ด๋์ ๋ณ์นญ ๋๋ ๊ธฐํ๊ฐ ์์ต๋๊น?โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78166544
.
๋๋ ๋ค์ 2์ผ ๋์ ์ฃผ๋จธ๋๊ฐ ์๋ค - ๋ค์ ์ฃผ์ด๋ค.
2015๋ 3์ 10์ผ ์คํ 11์ 33๋ถ์ Tim Hockin [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์๋ค ์,
์ด๋ฒ ์ฃผ ๋ด๋ด ์ธ์ถ ์ค์ ๋๋ค. ์ด๊ฒ์ ์ ๋ง ์ฌ๋ฏธ์๋ ๋ํ์ด์ง๋ง,
๋ด๊ฐ ๊ฐ์ง ์๊ฐ๋ณด๋ค ๋ ๋ง์ ์๊ฐ. ๋๋ ์์์ ์ง์ง๋ก ํ ๋ก ํ๊ฒ ๋์ด ๊ธฐ์ฉ๋๋ค.
๋ค์์ฃผ ์๊ฐ.2015๋ 3์ 10์ผ ํ์์ผ ์คํ 3์ 56๋ถ, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:๋ฌธ์ ์ค ํ๋๊ฐ ์์คํ ์งํฅ์ ๊ฐ์ ์ด๋ผ๋ ์ ์ ๊ฐ์ํ ๋
์ฌ๊ธฐ์์ Linux๊ฐ ์ฐ๋ฆฌ๋ฅผ ์ํด ๋ฌด์์ ํ ์ ์์ต๋๊น? ์๋ฅผ ๋ค์ด IP๋ฅผ ๋ง๋ค ์ ์์ต๋๊น?
์๋น์ค VIP์ ์ปจํ ์ด๋์ ๋ณ์นญ ๋๋ ๊ธฐํ๊ฐ ์์ต๋๊น?โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78166544
.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
๋ค์ ์ฃผ์ +1, ์๋ง๋ ํ์์์ผ ๊ฒ์ ๋๋ค.
๊ด๋ จ ์ฃผ์ ํ์ ์ผ๋ก ์ธํด ์ด ์ค๋ ๋๋ฅผ ๋ค์ ํ๊ณ ๋ญ๋๋ค(https://github.com/GoogleCloudPlatform/kubernetes/issues/4825#issuecomment-76193417, https://github.com/GoogleCloudPlatform/kubernetes/issues/175#issuecomment-84423902). , https://github.com/GoogleCloudPlatform/kubernetes/issues/1607#issuecomment-88177147, #6393).
ํ์์์ ์์ฝํด์ผ ํ ๊น์, ์๋๋ฉด ์ฃผ๊ฐ ์ปค๋ฎค๋ํฐ ํ์์์ ์ฌ์ฉํด์ผ ํ ๊น์?
๋ํ https://github.com/openshift/mongodb/pull/14 ๋ฉค๋ฒ์ฝ ์ธํธ ์ด๊ธฐํ๋ฅผ ์ํ ์ผ๋ฐ ํจํด์ ํ๋กํ ํ์ ์ ์์ํ๊ณ ์์ต๋๋ค(์ปจํ ์ด๋๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ฃ์ ์ ์๋ ๊ฒ ๋๋...)
@danmcp @mfojtik
----- ์๋ณธ ๋ฉ์์ง -----
๊ด๋ จ ์ฃผ์ ํ์ ์ผ๋ก ์ธํด ์ด ์ค๋ ๋๋ฅผ ๋ค์ ํ๊ณ ๋ญ๋๋ค.
( https://github.com/GoogleCloudPlatform/kubernetes/issues/4825#issuecomment -76193417,
https://github.com/GoogleCloudPlatform/kubernetes/issues/175#issuecomment -84423902,
https://github.com/GoogleCloudPlatform/kubernetes/issues/1607#issuecomment -88177147,6393).
- ๋คํธ์ํฌ ID(DNS ์ด๋ฆ ๋ฐ/๋๋ IP ์ฃผ์)๋ฅผ ํ ๋นํ๋ ๋ฐฉ๋ฒ
์ฑ๊ธํค ๋๋ ๋ช ๋ชฉ ์งํฉ์ ์ผ๋ถ์ผ ์ ์๋ ๊ฐ๋ณ ํฌ๋๋ ๋ฌด์์ ๋๊น?- ํ๋ ๋ด์ ์ปจํ ์ด๋์ ์์ด๋ดํฐํฐ๋ฅผ ์ด๋ป๊ฒ ์ ๋ฌํ ๊ฒ์ธ๊ฐ?
ํ์์์ ์์ฝํด์ผ ํ ๊น์, ์๋๋ฉด ์ฃผ๊ฐ ์ปค๋ฎค๋ํฐ ํ์์์ ์ฌ์ฉํด์ผ ํ ๊น์?
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -91041442
IIUC, ๊ทธ ํผ์ฆ์ ํ ์กฐ๊ฐ์ ๋ง์คํฐ ์ ๊ฑฐ #1542์ ๋๋ค.
์, ์ฐ๋ฆฌ๋ ๊ทธ๊ฒ์ ๋ํด ๋ ผ์ํ์ต๋๋ค. ์์ฒด ์ ํ์ ์ํํ ์ ์๋ ๋๋ถ๋ถ์ ํด๋ฌ์คํฐ์ ๊ฒฝ์ฐ ๋ฉค๋ฒ์ญ์ด ๊ฐ์ฅ ์ค์ํ์ง๋ง(Kube ์๋ํฌ์ธํธ์์ ๋ฉค๋ฒ์ญ ๊ฐ์ง, ํด๋ฌ์คํฐ์ ์ ์ฉ) ํญ์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ์ ๊ทผํฉ๋๋ค. ์๋ฅผ ๋ค์ด, Cassandra๋ ๊ธฐ๋ณธ์ ์ผ๋ก Kube๋ฅผ ๋ฉค๋ฒ์ญ์ ๋ํ ์ธ๋ถ ์์ค๋ก ์ฌ์ฉํ๋ฏ๋ก SEP์ด๋ฉฐ ์ด๋ ๋ฆฌ๋์ญ ์ ์ถ์ ๋ ์ฝ๊ฒ ๋ง๋ญ๋๋ค. ํ์์ด ์ง์ฐ๋๋ ๋ฐฉ์์ ๋ฐ๋ผ ํ์์ด ํ๋ฉ๋๋ฉด ํํฐ์ ์ผ๋ก ๋๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
mongo์ ๊ฒฝ์ฐ ๊ฐ ๊ตฌ์ฑ์์๊ฒ ์ฐ๋ฝํ์ฌ ๊ธฐ์กด ํด๋ฌ์คํฐ์ ๊ฐ์ ํ๊ฑฐ๋ ์ ํด๋ฌ์คํฐ๋ฅผ ํ์ฑํ๋๋ก ํฉ๋๋ค. ์ฌ๋ฌ ํด๋ฌ์คํฐ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ ํด๋ฌ์คํฐ๋ฅผ ์ ํ์ํค๊ณ ์ถ์ง ์์ต๋๋ค.
์๋น์ค IP๋ฅผ ์ปจํ
์ด๋์ ํต์ ํ๋ ๋ฌธ์ ๋ ์ธ๋ถ IP๋ฅผ VM์ ํต์ ํ๋ ๊ฒ๊ณผ ์ ์ฌํฉ๋๋ค( https://cloud.google.com/compute/docs/networking). GCE๋ ์ธ๋ถ ์ฃผ์๋ฅผ ๋ด๋ถ ์ฃผ์๋ก ๋ณํํ๊ณ ์ธ๋ถ ์ฃผ์๋ ๋ฉํ๋ฐ์ดํฐ ์๋ฒ๋ฅผ ํตํด ์ ๋ฌ๋ฉ๋๋ค. http://169.254.169.254/computeMetadata/v1/instance/network-interfaces/0/access-configs/0/external-ip
. AWS๋ ๋น์ทํฉ๋๋ค: http://169.254.169.254/latest/meta-data/public-ipv4
.
@smarterclayton mongo ํ๋กํ ํ์ PR์ ์ ๋ฐ์ดํธํ์ต๋๋ค: https://github.com/openshift/mongodb/pull/17
์ด์ replicaSet์ ์ด๊ธฐํํ๋ ์์ท ํ๋๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
๋ต์ฅ. ์ด ๋ฉ์ปค๋์ฆ์ ๋ณต์ /์ค๋ ์ปจํธ๋กค๋ฌ์ ์ฐ๊ฒฐ:
๋ณต์ ์ปจํธ๋กค๋ฌ ๋ฐ/๋๋ ํฌ๋ ๊ฐ์ฒด ์ด๋ฆ์ DNS ์ด๋ฆ์ ์๋ํ๋ฉด ํ์ฌ ์์น ์ ๋ฐ์ดํธ ๋ชจ๋ธ์ด ๊ฐ์ ์คํ๋ฉ๋๋ค. ์์ ํ ๋ค๋ฅธ ์ข ๋ฅ์ "์ธํ๋ ์ด์ค(in-place)" ๋กค๋ง ์ ๋ฐ์ดํธ๋ฅผ ๊ตฌํํ๋ ๋์์ ๋จ์ผ ์ปจํธ๋กค๋ฌ๋ก ์ฌ๋ฌ ํ ํ๋ฆฟ์ ๋์์ ์ง์ํด์ผ ํฉ๋๋ค. ๋ํ ์ผ๋ถ ์ข ๋ฅ์ ์ ๋ฐ์ดํธ(์ ํธ์คํธ๋ก ์ด๋ ํฌํจ)๋ฅผ ์ํํ๋ ค๋ฉด ํฌ๋๋ฅผ ์ญ์ ํ ๋ค์ ๋์ผํ ์ด๋ฆ์ผ๋ก ๋ค์ ์์ฑํด์ผ ํ๋ฏ๋ก ์๋ก์ด ํธ์คํธ๋ฅผ ์ถ๊ฐํ๋ ์ ๊ทผ ๋ฐฉ์์ ๋นํด ๊ฐ๋ ์ค์ง ์๊ฐ์ด ๋์ด๋ฉ๋๋ค. ์ค๋๋ ๊ฒ์ ๋ฒ๋ฆฌ๊ธฐ ์ ์ ํฌ๋.
ํ ํฐ ํ ์์ด๋์ด๋ ํ๋ฅญํฉ๋๋ค. ๋๋ ๊ทธ๊ฒ์ด RC์์ ๋ถ๋ฆฌ๋์ด์ผํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ํ๋๋ฅผ ์ถ๊ฐํ๋ค๋ฉด ๋ ๋์ ์์ค์ ์ปจํธ๋กค๋ฌ์ ์ฐ๊ฒฐ๋ ์ ์์ต๋๋ค. #1743 ๋ฐ/๋๋ #503์ ๋ํด ๋ ์์ธํ ์ค๋ช ํฉ๋๋ค.
์ด๊ฒ์ #1743์์ ์ ์ํ DeploymentController์ ์ค์ ๋ก ๊ฒฐํฉ๋์ด์๋ ์๋ฉ๋๋ค. ์ฌ๋ฌ ๋ ๋ฆฝ ๋ฆด๋ฆฌ์ค ํธ๋์ ์๋๋ฆฌ์ค๋ ์ ์๋ ์ด๋ฆ ๊ต์ฒด ๋กค๋ง ์ ๋ฐ์ดํธ์ ๊ฐ์ ๋ค๋ฅธ ๋ฉ์ปค๋์ฆ์ผ๋ก ๋กค์์์ ์ ์ดํ๋ ค๋ ๊ฒฝ์ฐ์๋ ์๋ํ์ง ์์ต๋๋ค. ๋น์ทํ ์ด์ ๋ก DNS ์ด๋ฆ์ pod/RC/DC ๊ฐ์ฒด ์ด๋ฆ์ ์ฐ๊ฒฐํ์ง ์์ต๋๋ค.
๊ทธ๋์ ์ฐ๋ฆฌ๋ ์๋น์ค์ ์ผ๋ถ ๋๋ ์์ ํ ๋ณ๋์ ์ปจํธ๋กค๋ฌ๋ก ๋์๊ฐ๋๋ค. ์๋ง๋ ๋์ ์ปจํธ๋กค๋ฌ๊ฐ ์๋น์ค ๋์ ์ ์ธ๋ฑ์ค๋ฅผ ํ ๋นํ ์ ์์ต๋๊น? Endpoints ์์ฒด๊ฐ ์ด ๋ฐ์ดํฐ๋ฅผ ๊ธฐ๋กํ๊ธฐ์ ์ถฉ๋ถํ ์ ๋ขฐํ ์ ์์ต๋๊น? ์์ค๋ ๊ฒฝ์ฐ ๋ชจ๋ ํฌ๋๊ฐ ๋ค์ ์ธ๋ฑ์ฑ๋ฉ๋๋ค.
ํฌ๋์ ์ปจํ ์ด๋์ ๋ํ ID ํต์ ์ ์ฉ์ดํ๊ฒ ํ๋ ค๋ฉด(์: #2316์์ ๋ ผ์๋ ํ๊ฒฝ ๋ณ์ ๋์ฒด๋ฅผ ํตํด) ํ์ ๋ฆฌ์์ค๋ฅผ ํตํด ์ญํ ์ด ํ ๋น/ํ ๋น ํด์ ๋ ๋ ํฌ๋์ ํ๋๋ฅผ ์ค์ ํ๋ ๊ฒ์ด ์ ์ฉํ ๊ฒ์ ๋๋ค. ๋ด๊ตฌ์ฑ ๋ฌธ์ ๋ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋ช ๋ชฉ ์ธ์คํด์ค(#6666)๋ฅผ ์ํด DNS ์คํค๋ง์ ๊ณต๊ฐ์ ์์ฝํด์ผ ํฉ๋๋ค.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -78071406์ ๋ฐ๋ผ ํฌ๋ IP๋ฅผ ์ฌ์ฉํ๊ณ ๋ช ๋ชฉ ์ธ์คํด์ค์ ๋ํด DNS๋ฅผ ๋ค์ ๋งคํํ ์ ์๋ค๋ ๊ฒ์ ๊ตฌ์ ํ ์ ์์ต๋๋ค.
๋ํ 2์์ 1.0 ๋ง์ผ์คํค์์ ์ ๊ฑฐํ์ง๋ง(roadmap.md๋ ์๋) #6393์ ๋ ผ์์ ๋ฐ๋ฅด๋ฉด ๋ค์ ์ถ๊ฐ๋ ์ ์์ต๋๋ค.
@thockin ์ ์: DNS(PTR ๋ ์ฝ๋)๋ฅผ ์ฌ์ฉํ ์ญ๋ฐฉํฅ ์กฐํ๋ ํฌ๋ IP์์ ๋ช
๋ชฉ DNS ์ด๋ฆ์ผ๋ก ์ด๋ํ๋ ํฉ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ์ฒ๋ผ ๋ณด์
๋๋ค.
http://en.wikipedia.org/wiki/Reverse_DNS_lookup
์, ํ์ค ์ด๋ฆ ๋๊ตฌ๋ฅผ ํตํด "๋๋ ๋๊ตฌ์ธ๊ฐ"๋ฅผ ์ ๋ง ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
2015๋ 4์ 10์ผ ์คํ 8์ 11๋ถ์ Brian Grant [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
@thockin ์ ์: DNS(PTR ๋ ์ฝ๋)๋ฅผ ์ฌ์ฉํ ์ญ๋ฐฉํฅ ์กฐํ๋ ํฌ๋ IP์์ ๋ช ๋ชฉ DNS ์ด๋ฆ์ผ๋ก ์ด๋ํ๋ ํฉ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ์ฒ๋ผ ๋ณด์ ๋๋ค.
http://en.wikipedia.org/wiki/Reverse_DNS_lookupโ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
/๊ตฌ๋ ํ๋ค
๋ ์ด์ ์ฌ๊ธฐ์ ์๊ตฌ ์ฌํญ์ ์ดํดํ๊ณ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์๋น์ค์ ํ๋ ์ฌ์ด์๋ ๊ณ ์ ํ N ๋ M ๊ด๊ณ๊ฐ ์์ต๋๋ค.
์์คํ
์ ๋์์ธ. ์ญ๋ฐฉํฅ DNS์ ๊ฐ์ ๊ฒ๋ค์ ์ผ๋ฐ์ ์ผ๋ก ๋ค์์ ์ป์ ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค.
๋จ์ผ ์๋ต: ํ๋์ IP๊ฐ ์ฃผ์ด์ง๋ฉด ์ ์ ์ด๋ฆ์ ์ป์ต๋๋ค. ์์ฑ๋ ๋ชจ๋ ๋ฌธ์
DNS์ ๋ํด "์ฌ๋ฌ ์ญ๋ฐฉํฅ ๋ ์ฝ๋๋ฅผ ๋ฐํํ์ง ๋ง์ญ์์ค"๋ผ๊ณ ๋งํฉ๋๋ค. ํฌ๋๊ฐ ๋ ์ ์๊ธฐ ๋๋ฌธ์
N ์๋น์ค์์ ์ด ๋จ์ผ ์๋ต์ ์ค์ ๋ก ์๋น์ค์ ๊ด๋ จ๋ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ
์ ์ ์ด๋ฆ์ ๋ํด ์ญ๋ฐฉํฅ ์กฐํ๋ฅผ ์ํํ ๋ค์ ๊ทธ์ ๋ํ TXT ์กฐํ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
"์ด๋ค ์๋น์ค๋ฅผ ๋ฐ๊ณ ์๋์ง"์ ๋ํ ์ด๋ฆ์ด์ง๋ง ์ ์งํ๊ธฐ ์ด๋ ต๊ณ
์ด์จ๋ ๋ณธ์ง์ ์ผ๋ก ์ฌ์ฉ์ ์ ์ ํ๋กํ ์ฝ์
๋๋ค.
๋ด๊ฐ RC์ ๋ช
๋ชฉ์์ ๋ฌด์์ด๋ ์ฒจ๋ถํ๋ ค๊ณ ์๊ฐํ ์ด์ ๋ ๊ทธ๊ฒ์ด
๋ณด๋ค ๊ตฌ์ฒด์ ์ธ ๊ด๊ณ. ํ์ง๋ง ๊ทธ๋ ์ง๋ ์์ต๋๋ค. ํฌ๋๋ ๋ค์์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค.
ํ๋์ RC๋ ๊ณ ์์ด๊ณ ๋ค๋ฅธ RC์ ์ํด ์ฑํ๋๊ณ ๊ทธ์ ์ํด ํ๊ดด๋ฉ๋๋ค. ๋๋
์๋์ผ๋ก ํ๊ดด
๊ทธ๋์ ๋๋ ์ฐ๋ฆฌ๊ฐ ์ด๊ฒ์ผ๋ก ๋ฌด์์ ํ๊ณ ์ถ์์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์๋น์ค์ ํฌ๋๋ "์๋"์ผ ์ ์์ต๋๋ค. ์ด๋ ๋์ฐํ๊ฒ ๋ค๋ฆฝ๋๋ค.
ํ๋ ์๊ตฌ ์ฌํญ์ ๋ฌด์์
๋๊น? ์ฐ๋ฆฌ๋ ๋ฌด์์ ๋ฌ์ฑํ๋ ค๊ณ ํฉ๋๋ค. ์ฐ๋ฆฌ
DNS ๋ฐ ํค๋๋ฆฌ์ค ์๋น์ค๋ก ๊ฐ๋จํ ์งํฉ ์๋ฏธ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ต๋๊น
์ถฉ๋ถํ? ๊ทธ๋ ์ง ์๋ค๋ฉด ๊ทธ ์ด์ ๋ ๋ฌด์์
๋๊น?
์ฐ๋ฆฌ๋ ๊ทน๋จ์ ์ผ๋ก ๊ฐ์ SNAT/DNAT ํฌ๋์ iptables ๊ท์น์ ์ค์ ํ ์ ์์ต๋๋ค.
VIP์์ ์๋ก๋ฅผ ๋ณผ ์ ์๋๋ก ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์: ํฌ๋ ์ธํธ ์ ๊ณต
(P1, P2, P3) VIP(V1, V2, V3)๋ฅผ ์ป์ต๋๋ค. P1์์ V2๋ก์ ํธ๋ํฝ์
V1 ๋ฑ์์ ์ค๋ ๊ฒ์ผ๋ก ๋ณด์
๋๋ค. ํด๋ผ์ด์ธํธ๋ V{1,2,3}์ ์ก์ธ์คํฉ๋๋ค. ๊ทผ๋ฐ ๋ญ
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๊น? ์์ ์ ์ธ IP๋ฅผ ์ฃผ๋๋ฐ ์ด๊ฑฐ ์๋๊ฐ
ํค๋๋ฆฌ์ค ์๋น์ค ์ ๋ฐ์ ๋ํ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ?
2015๋ 4์ 21์ผ ํ์์ผ ์คํ 2:17 David Oppenheimer < ์๋ฆผ @github.com
์ผ๋ค:
/๊ตฌ๋ ํ๋ค
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -94945744
.
๋ชฉํ๋ ๋งค์ฐ ๊ตฌ์ฒด์ ์ด์์ต๋๋ค. ์ค์ ํด๋ฌ์คํฐํ ์์คํ ์๋ ๋ ธ๋ ์ค๋ฅ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๊ณ์๋ ๊ฒ์ผ๋ก ์์๋๋ "ID"๊ฐ ์๋ ๊ตฌ์ฑ์์ด ์์ต๋๋ค. ํด๋น ID๋ ์๊ตฌ ๋์คํฌ ๋๋ "์ด๋ฆ"์ ์ฐ๊ฒฐ๋ ์ ์์ง๋ง ๋ค๋ฅธ ์์คํ ์ ๋ํ ์๋ณ ์ด๋ฆ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ฌ์ก์ฌ๋ ๋ ธ๋๋น ID๋ฅผ ๊ฐ์ต๋๋ค. ํด๋น ID๋ ํด๋ฌ์คํฐ ๊ตฌ์ฑ์์์ ์์ ์ ์ผ๋ก ์ ์ง๋์ด์ผ ํฉ๋๋ค. ์์ ์ด host1์ด๋ผ๊ณ ์๊ฐํ๋ ๋ ๊ฐ์ ํฌ๋๊ฐ _๊ฐ๋ฅ_ํ ์ ์์ง๋ง host1์ด ์ฌ๋ผ์ง๋ฉด host435๊ฐ ์ด๋ฅผ ๋์ฒดํ ์ ์์ต๋๋ค. ํ ์ฅ์์์ ๋ค๋ฅธ ์ฅ์๋ก ์ด๋ํ๋ ํด๋น ํฌ๋์ ๋ํด ์ฌ์ฌ์ฉ๋ ์๊ตฌ ๋์คํฌ๊ฐ ์์ ์ ์์ง๋ง ๊ทธ๋ด ๋ ํฌ๋๋ ํด๋น ID๋ฅผ ์ ์ํ ์ ์์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋ ๊ทธ #์ ํ ๋นํ๋ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.
๋ช ๋ชฉ ์๋น์ค์ ๋ํด ์๊ฐํ๋ ๋ฐฉ์์ ์์ ํ ์ ์ฐํ ์๋ฐฑ ๊ฐ์ง ์ฌ์ฉ ์ฌ๋ก๊ฐ ์๋๋ผ ํญ์ ์๊ท๋ชจ(3/5/7) ๊ตฌ์ฑ์์ผ๋ก ๊ธฐ์กด ์ํํธ์จ์ด๋ฅผ ํ์ฑํํ๋ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์๋ง๋ ์ฐ๋ฆฌ๋ ์ด ํ ๋ก ์์ ๊ทธ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ๋ถ๋ฆฌํด์ผ ํ ๊ฒ์ ๋๋ค.
2015๋ 4์ 22์ผ ์ค์ 1์ 59๋ถ์ Tim Hockin [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๋ ์ด์ ์ฌ๊ธฐ์ ์๊ตฌ ์ฌํญ์ ์ดํดํ๊ณ ์๋์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์๋น์ค์ ํ๋ ์ฌ์ด์๋ ๊ณ ์ ํ N ๋ M ๊ด๊ณ๊ฐ ์์ต๋๋ค.
์์คํ ์ ๋์์ธ. ์ญ๋ฐฉํฅ DNS์ ๊ฐ์ ๊ฒ๋ค์ ์ผ๋ฐ์ ์ผ๋ก ๋ค์์ ์ป์ ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค.
๋จ์ผ ์๋ต: ํ๋์ IP๊ฐ ์ฃผ์ด์ง๋ฉด ์ ์ ์ด๋ฆ์ ์ป์ต๋๋ค. ์์ฑ๋ ๋ชจ๋ ๋ฌธ์
DNS์ ๋ํด "์ฌ๋ฌ ์ญ๋ฐฉํฅ ๋ ์ฝ๋๋ฅผ ๋ฐํํ์ง ๋ง์ญ์์ค"๋ผ๊ณ ๋งํฉ๋๋ค. ํฌ๋๊ฐ ๋ ์ ์๊ธฐ ๋๋ฌธ์
N ์๋น์ค์์ ์ด ๋จ์ผ ์๋ต์ ์ค์ ๋ก ์๋น์ค์ ๊ด๋ จ๋ ์ ์์ต๋๋ค. ์ฐ๋ฆฌ
์ ์ ์ด๋ฆ์ ๋ํด ์ญ๋ฐฉํฅ ์กฐํ๋ฅผ ์ํํ ๋ค์ ๊ทธ์ ๋ํ TXT ์กฐํ๋ฅผ ์ํํ ์ ์์ต๋๋ค.
"์ด๋ค ์๋น์ค๋ฅผ ๋ฐ๊ณ ์๋์ง"์ ๋ํ ์ด๋ฆ์ด์ง๋ง ์ ์งํ๊ธฐ ์ด๋ ต๊ณ
์ด์จ๋ ๋ณธ์ง์ ์ผ๋ก ์ฌ์ฉ์ ์ ์ ํ๋กํ ์ฝ์ ๋๋ค.๋ด๊ฐ RC์ ๋ช ๋ชฉ์์ ๋ฌด์์ด๋ ์ฒจ๋ถํ๋ ค๊ณ ์๊ฐํ ์ด์ ๋ ๊ทธ๊ฒ์ด
๋ณด๋ค ๊ตฌ์ฒด์ ์ธ ๊ด๊ณ. ํ์ง๋ง ๊ทธ๋ ์ง๋ ์์ต๋๋ค. ํฌ๋๋ ๋ค์์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค.
ํ๋์ RC๋ ๊ณ ์์ด๊ณ ๋ค๋ฅธ RC์ ์ํด ์ฑํ๋๊ณ ๊ทธ์ ์ํด ํ๊ดด๋ฉ๋๋ค. ๋๋
์๋์ผ๋ก ํ๊ดด๊ทธ๋์ ๋๋ ์ฐ๋ฆฌ๊ฐ ์ด๊ฒ์ผ๋ก ๋ฌด์์ ํ๊ณ ์ถ์์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์๋น์ค์ ํฌ๋๋ "์๋"์ผ ์ ์์ต๋๋ค. ์ด๋ ๋์ฐํ๊ฒ ๋ค๋ฆฝ๋๋ค.ํ๋ ์๊ตฌ ์ฌํญ์ ๋ฌด์์ ๋๊น? ์ฐ๋ฆฌ๋ ๋ฌด์์ ๋ฌ์ฑํ๋ ค๊ณ ํฉ๋๋ค. ์ฐ๋ฆฌ
DNS ๋ฐ ํค๋๋ฆฌ์ค ์๋น์ค๋ก ๊ฐ๋จํ ์งํฉ ์๋ฏธ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค. ๊ทธ๋ ์ต๋๊น
์ถฉ๋ถํ? ๊ทธ๋ ์ง ์๋ค๋ฉด ๊ทธ ์ด์ ๋ ๋ฌด์์ ๋๊น?์ฐ๋ฆฌ๋ ๊ทน๋จ์ ์ผ๋ก ๊ฐ์ SNAT/DNAT ํฌ๋์ iptables ๊ท์น์ ์ค์ ํ ์ ์์ต๋๋ค.
VIP์์ ์๋ก๋ฅผ ๋ณผ ์ ์๋๋ก ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์: ํฌ๋ ์ธํธ ์ ๊ณต
(P1, P2, P3) VIP(V1, V2, V3)๋ฅผ ์ป์ต๋๋ค. P1์์ V2๋ก์ ํธ๋ํฝ์
V1 ๋ฑ์์ ์ค๋ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ํด๋ผ์ด์ธํธ๋ V{1,2,3}์ ์ก์ธ์คํฉ๋๋ค. ๊ทผ๋ฐ ๋ญ
๋ฌธ์ ๊ฐ ํด๊ฒฐ๋ฉ๋๊น? ์์ ์ ์ธ IP๋ฅผ ์ฃผ๋๋ฐ ์ด๊ฑฐ ์๋๊ฐ
ํค๋๋ฆฌ์ค ์๋น์ค ์ ๋ฐ์ ๋ํ ์ผ๋ฐ์ ์ธ ๋ฌธ์ ?2015๋ 4์ 21์ผ ํ์์ผ ์คํ 2:17 David Oppenheimer < ์๋ฆผ @github.com
์ผ๋ค:
/๊ตฌ๋ ํ๋ค
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -94945744
.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
์ด๋ค ์ข ๋ฅ์ ์ปจํธ๋กค๋ฌ๋ ํฌ๋์ ์ผ๋ถ ํ๋๋ฅผ ๋์ ์ผ๋ก ์ค์ /ํด์ ํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ์ ๋จ์ง ํฌ๋๋ RC ์์ด๋ดํฐํฐ์ ์ตํฉ๋ ์ ์์ต๋๋ค. ๋คํธ์ํฌ ID๋ฅผ ํฌ๋ ๋๋ RC ID์ ๋ฌถ๋ ๊ฒ์ ์์ ํ ๊นจ์ก์ต๋๋ค.
๋๋ ์ผ๋ฐ ๋๋ ํค๋๋ฆฌ์ค ์๋น์ค์ ๋ํด ์ญ๋ฐฉํฅ DNS ์กฐํ๋ฅผ ์๋์ํค๋ ค๊ณ ์๋ํ์ง ์์ ๊ฒ์ด๋ฉฐ, ๋ค๋ฅธ ์ ํ์ ์๋น์ค๋ฅผ ์ ํ ์ ํํ ํ์๊ฐ ์๋ ํฌ๋๋น ์ต๋ ํ๋์ ๋ช ๋ชฉ ์๋น์ค๋ฅผ ๋ถ๊ณผํ๋ ๊ฒ์ด ๋นํฉ๋ฆฌ์ ์ด๋ผ๊ณ ์๊ฐํ์ง ์์ต๋๋ค. .
์ฅ๊ธฐ์ ์ผ๋ก ํธ์ํ๊ณ ์ ํ๋ DNS ์ ํ ์ฌํญ์ด ๋ง์ด ์์ต๋๋ค(์บ์ ๋ฌดํจํ, ๊ธด ํด๋ง ์ง์ ๋ฑ). ์ฌ๋ฌ PTR ๋ ์ฝ๋๋ ํด๋น ๋ชฉ๋ก์ ์ถ๊ฐ๋ ๋ ๋ค๋ฅธ ํญ๋ชฉ์ผ ์ ์์ต๋๋ค.
๋ค๋ฅธ ๋์์ ๋ช ๋ชฉ ์๋น์ค์ ๊ฐ ํฌ๋์ ์๋น์ค IP๋ฅผ ๋ถ์ฌํ ๋ค์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
----- ์๋ณธ ๋ฉ์์ง -----
์ด๋ค ์ข ๋ฅ์ ์ปจํธ๋กค๋ฌ๋ ํฌ๋์ ์ผ๋ถ ํ๋๋ฅผ ๋์ ์ผ๋ก ์ค์ /ํด์ ํ ์ ์์ต๋๋ค. ๊ทธ๊ฒ
ํฌ๋ ๋๋ RC ID์ ๋ณํฉํ ์ ์์ต๋๋ค. ๋คํธ์ํฌ ID ์ฐ๊ฒฐ
ํฌ๋ ๋๋ RC ID๊ฐ ์์ ํ ์์๋์์ต๋๋ค.์ผ๋ฐ ๋๋ ํค๋๋ฆฌ์ค์ ๋ํด ์ญ๋ฐฉํฅ DNS ์กฐํ๊ฐ ์๋ํ๋๋ก ํ๋ ค๊ณ ํ์ง ์์ต๋๋ค.
์ต๋ ํ๋์ ๋ช ๋ชฉ์์ ๋ถ๊ณผํ๋ ๊ฒ์ด ๋ถํฉ๋ฆฌํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
ํฌ๋๋น ์๋น์ค -- ๋ค๋ฅธ ์ ํ์ ์๋น์ค๋ฅผ ์ ํํ ํ์๊ฐ ์์ต๋๋ค.
๋ชจ๋.์ฅ๊ธฐ์ ์ผ๋ก ์ถ์งํ๊ณ ์ ํ๋ ๋ง์ DNS ์ ํ ์ฌํญ์ด ์์ต๋๋ค.
(์บ์ ๋ฌดํจํ, ๊ธด ํด๋ง ์ง์ ๋ฑ). ์ฌ๋ฌ PTR ๋ ์ฝ๋
์๋ง๋ ๊ทธ ๋ชฉ๋ก์ ์ถ๊ฐ๋ ๋ ๋ค๋ฅธ ํญ๋ชฉ์ผ ๊ฒ์ ๋๋ค.๋ค๋ฅธ ๋์์ ๊ฐ ํฌ๋์ ์๋น์ค IP๋ฅผ ๋ถ์ฌํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
๋ช ๋ชฉ์์ ์๋น์ค๋ฅผ ์ ๊ณตํ ๋ค์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
์ด๋ฌํ ๋ง์ ์๋น์ค๋ ์์ ์ด ๊ฐ์ง IP(์ด๋ฆ)๊ฐ ์ฐ๊ฒฐ๋ IP๋ก ํด์๋ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ๋ฐ๋ผ์ 172.1.1.1์์ X์ ์ฐ๊ฒฐํ๋ฉด X๋ 172.1.1.1๋ก ์๊ฐํฉ๋๋ค. ๊ทธ๊ฒ์ด ๋ชจ๋ ์ํํธ์จ์ด๊ฐ ์๋๋ผ ์ผ๋ถ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก DNS ์ด๋ฆ์ด๋ฏ๋ก IP๊ฐ ์๋์์ ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -95266421
์ด ๋ชจ๋ ๊ฒ์ด ์ ์๊ฒ๋ ์์ง ์ฝ๊ฐ ์ถ์์ ์ ๋๋ค.
์ค์ ํด๋ฌ์คํฐํ ์์คํ ์๋ "ID"๊ฐ ์๋ ๊ตฌ์ฑ์์ด ์์ต๋๋ค.
๋ ธ๋ ์ค๋ฅ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๊ณ์๋ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ๊ทธ ์์ด๋ดํฐํฐ
์๊ตฌ ๋์คํฌ ๋๋ "์ด๋ฆ"์ ์ฐ๊ฒฐ๋ ์ ์์ง๋ง ์ด๋ฆ์
๋ค๋ฅธ ์์คํ ์ผ๋ก ์๋ณํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ์๊ตฌ ์ฌํญ์ด ์๋๋๋ค. ๊ตฌํ์ด ๋ถ๊ฐ๋ฅํ ์ ๋๋ก ๋ชจํธํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ฌ์ก์ฌ๋ ๋ ธ๋๋น ID๋ฅผ ๊ฐ์ต๋๋ค. ๊ทธ ์์ด๋ดํฐํฐ๋ ๋จ์์์ด์ผ ํ๋ค
ํด๋ฌ์คํฐ ๋ฉค๋ฒ์ฝ์์ ์์ ์
์ ์์ด๋ ๋ฌด์์
๋๊น? IP ์ฃผ์? ์ํํธ์จ์ด์ ์ ๋ฌ๋ ๋ฌธ์์ด ํ๋๊ทธ?
๊ทธ๋ฆฌ๊ณ ํ๊ฒฝ ๋ณ์? zk ํ๋ก์ธ์ค๋ ์์ฒด ID๊ฐ ๋ฌด์์ธ์ง ์ด๋ป๊ฒ ํ์ตํฉ๋๊น?
์ผ์ข ์ ์ปจํธ๋กค๋ฌ๊ฐ ํฌ๋์ ์ผ๋ถ ํ๋๋ฅผ ๋์ ์ผ๋ก ์ค์ /ํด์ ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ฉด ํด๋น ํฌ๋๊ฐ ๋ค์ ์์๋์ง๋ง ์ฌ์ ํ ์๋ตํ์ง ์์ต๋๋ค.
์ด๋ค ํ๋, ์ด๋ค ๊ฐ, ์ด๋ค ๋
ผ๋ฆฌ๋ฅผ ํฌ๋์ ์๋ฆด ๊ฒ์ธ์ง์ ๋ํ ์ง๋ฌธ์ ๋ฌด์์
๋๊น?
์ฃผ์์ ๋ช
๋ น์ค ํ๋๊ทธ๋ก ํ์ฅํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
(env vars์ ๋ํด ๋
ผ์ํ๋ ๊ฒ์ฒ๋ผ) ๋๋ env vars๋ก. ์
์ปจํธ๋กค๋ฌ ์ฐ๊ธฐ ์ฃผ์["zookeeper.com/index"] = 9, ๋ณํ
$.metdata["zookeeper.com/index"]๋ฅผ ZK_INDEX ํ๊ฒฝ์ผ๋ก ํ์ง๋ง ๋๋ ์ด๊ฒ์ ๋ง๋ค๊ณ ์๋ค.
์ ํํ ์ฌ์ก์ฌ(๋๋
๋ฌด์์ด๋ ) ํ์ํฉ๋๋ค.
์ต๋ ํ๋์ ๋ช ๋ชฉ ์๋น์ค๋ฅผ ๋ถ๊ณผํ๋ ๊ฒ์ด ๋ถํฉ๋ฆฌํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
ํฌ๋๋น
๋๋ ๊ทธ๋ฌํ ์ ํ์ ๊ตฌํํ๊ธฐ ์ด๋ ค์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์์คํ
์ด ๊ทธ๋ ๋ค
๋์จํ๊ฒ ๊ฒฐํฉ๋๊ณ ์ด๋ฌํ ์ ํ์ ๋ถ๊ณผํ๋ ๊ฒ์ด
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ฟ์
๋๋ค.
๋ช ๋ชฉ ์๋น์ค์ ๊ฐ ํฌ๋์ ์๋น์ค IP๋ฅผ ๋ถ์ฌํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์์ ์์ํ์ง๋ง ...
์ด๋ฌํ ์๋น์ค ์ค ์๋น์๋ ์์ ์ด ๋ณด์ ํ IP(์ด๋ฆ)๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
์ฐ๊ฒฐํ๋ IP๋ก ํด์๋ฉ๋๋ค. ๋ฐ๋ผ์ 172.1.1.1์์ X์ ์ฐ๊ฒฐํ๋ฉด
๊ทธ๋ฌ๋ฉด X๋ 172.1.1์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์๋น์ค IP๋ ๋ค์๊ณผ ๊ฐ์ด ๋ ๊น์ด ์๋ ์์
์ ์ํํ์ง ์๋ ํ ์ด๋ฅผ ์ถฉ์กฑํ์ง ์์ต๋๋ค.
SNAT/DNAT๋ก ์ธ๊ธํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ง์ ๋ ์ค์ง์ ์ธ ๋จ์ ์ด ์์ต๋๋ค.
๋๋ ๋ชฉ์ ์ํ๊ฒ ํ๋ ค๋ ๊ฒ์ด ์๋๋ผ ๋จ์ง ์ฐ๋ฆฌ์๊ฒ ์์ฃผ ์ฝ๊ฐ์ ํต์ฆ์ด ์๋ค๋ ๊ฒ๋ฟ์
๋๋ค.
1.0๊น์ง์ ์๊ฐ์ด ํ์ํฉ๋๋ค.
๊ฐ๋
์ฆ๋ช
์กฐ์ฐจ๋ ์ ๋๋ก ๊ตฌํํ์ง ๋ชปํฉ๋๋ค.
๋๋ ์ฐ๋ฆฌ๊ฐ ๊ฒฝํํ๊ณ ์ถ์ ๊ฒ์ ์ ํํ ์ฐพ์๋ด์ ๋ณผ ์ ์๋๋ก ๋
ธ๋ ฅํ๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ๊ตฌํํ ์ ์๋ ๊ฒ. DNS์ ๋ํ ๋ฐ๋ณต์ ์ธ ์ฐธ์กฐ๋ฅผ ๊ฐ์ํ ๋
์ฌ๊ธฐ์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ ๋๊น์ง DNS ์ฌ์์
์ ์ค๋จํ์ญ์์ค.
2015๋
4์ 22์ผ ์์์ผ ์ค์ 10์ 12๋ถ, Clayton Coleman [email protected]
์ผ๋ค:
----- ์๋ณธ ๋ฉ์์ง -----
์ด๋ค ์ข ๋ฅ์ ์ปจํธ๋กค๋ฌ๋ ์ผ๋ถ ํ๋๋ฅผ ๋์ ์ผ๋ก ์ค์ /ํด์ ํ ์ ์์ต๋๋ค.
๊ผฌํฌ๋ฆฌ. ๊ทธ๊ฒ
ํฌ๋ ๋๋ RC ID์ ๋ณํฉํ ์ ์์ต๋๋ค. ๋คํธ์ํฌ ๋ฌถ๊ธฐ
์ ์
ํฌ๋ ๋๋ RC ID๊ฐ ์์ ํ ์์๋์์ต๋๋ค.์ผ๋ฐ ๋๋ ํค๋๋ฆฌ์ค์ ๋ํด ์ญ๋ฐฉํฅ DNS ์กฐํ๊ฐ ์๋ํ๋๋ก ํ๋ ค๊ณ ํ์ง ์์ต๋๋ค.
์ต๋ 1๊ฐ์ ์๋น์ค๋ฅผ ๋ถ๊ณผํ๋ ๊ฒ์ด ๋ถํฉ๋ฆฌํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
๋ช ์ฌ ๊ฐ์
ํฌ๋๋น ์๋น์ค -- ๋ค๋ฅธ ์ ํ์ ์๋น์ค๋ฅผ ์ ํํ ํ์๊ฐ ์์ต๋๋ค.
๋ชจ๋.์ฐ๋ฆฌ๊ฐ ์ฅ๊ธฐ์ ์ผ๋ก ์ถ์งํ๊ณ ์ ํ๋ ๋ง์ DNS ์ ํ ์ฌํญ์ด ์์ต๋๋ค.
์ด์
(์บ์ ๋ฌดํจํ, ๊ธด ํด๋ง ์ง์ ๋ฑ). ์ฌ๋ฌ PTR
๊ธฐ๋ก
์๋ง๋ ๊ทธ ๋ชฉ๋ก์ ์ถ๊ฐ๋ ๋ ๋ค๋ฅธ ํญ๋ชฉ์ผ ๊ฒ์ ๋๋ค.๋ค๋ฅธ ๋์์ ๊ฐ ํฌ๋์ ์๋น์ค IP๋ฅผ ๋ถ์ฌํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค.
๋ช ๋ชฉ์์ ์๋น์ค๋ฅผ ์ ๊ณตํ ๋ค์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.์ด๋ฌํ ์๋น์ค ์ค ์๋น์๋ ์์ ์ด ๋ณด์ ํ IP(์ด๋ฆ)๊ฐ ํด๊ฒฐ๋ ๊ฒ์ผ๋ก ๊ธฐ๋ํฉ๋๋ค.
๊ทธ๋ค์ด ์ฐ๊ฒฐํ๋ IP์ - ๋ฐ๋ผ์ 172.1.1.1์์ X์ ์ฐ๊ฒฐํ๋ฉด X
172.1.1.1์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๊ฒ์ด ๋ชจ๋ ์ํํธ์จ์ด๊ฐ ์๋๋ผ ์ผ๋ถ์ ๋๋ค. ๋ณดํต์
๊ทธ๋ฌ๋ DNS ์ด๋ฆ์ IP๊ฐ ์๋์์ ๋ณ๊ฒฝ๋ ์ ์์์ ์๋ฏธํฉ๋๋ค.์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -95266421
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -95267902
.
๋๋ถ๋ถ์ ๋ค์ค ํฌํธ ์ ๋ ํด๋ฌ์คํฐํ ์์คํ
์
๋๋ค. ์๋ฅผ ๋ค์ด:
ZK : ๊ตฌ์ฑ ํ์ผ์ ํ์ธ ๊ฐ๋ฅํ ํธ์คํธ ์ด๋ฆ ๋๋ IP ์ฃผ์์ ํ์ผ์ "id"(์ฆ, ์ธ๋ฑ์ค: 1, 2, 3, ...)
์ผ๋ถ DB๋ ์ดํด๋ด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ๋ฌด์์ ํ๋ ๋ชจ๋ ์ผ์ ํจ๊ณผ๊ฐ ์๋ ๊ฒ์ ์๋๋๋ค. ์ฐ๋ฆฌ๋ ์ค์ํธ ์คํฟ์ ์ฐพ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
----- ์๋ณธ ๋ฉ์์ง -----
์ด ๋ชจ๋ ๊ฒ์ด ์ ์๊ฒ๋ ์์ง ์ฝ๊ฐ ์ถ์์ ์ ๋๋ค.
์ค์ ํด๋ฌ์คํฐํ ์์คํ ์๋ "ID"๊ฐ ์๋ ๊ตฌ์ฑ์์ด ์์ต๋๋ค.
๋ ธ๋ ์ค๋ฅ๊ฐ ์๋ ๊ฒฝ์ฐ์๋ ๊ณ์๋ ๊ฒ์ผ๋ก ์์๋ฉ๋๋ค. ๊ทธ ์์ด๋ดํฐํฐ
์๊ตฌ ๋์คํฌ ๋๋ "์ด๋ฆ"์ ์ฐ๊ฒฐ๋ ์ ์์ง๋ง ์ด๋ฆ์
๋ค๋ฅธ ์์คํ ์ผ๋ก ์๋ณํ ์ ์์ต๋๋ค.์ด๊ฒ์ ์๊ตฌ ์ฌํญ์ด ์๋๋๋ค. ๊ตฌํ์ด ๋ถ๊ฐ๋ฅํ ์ ๋๋ก ๋ชจํธํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์ฌ์ก์ฌ๋ ๋ ธ๋๋น ID๋ฅผ ๊ฐ์ต๋๋ค. ๊ทธ ์์ด๋ดํฐํฐ๋ ๋จ์์์ด์ผ ํ๋ค
ํด๋ฌ์คํฐ ๋ฉค๋ฒ์ฝ์์ ์์ ์ ์ ์์ด๋ ๋ฌด์์ ๋๊น? IP ์ฃผ์? ์ํํธ์จ์ด์ ์ ๋ฌ๋ ๋ฌธ์์ด ํ๋๊ทธ?
๊ทธ๋ฆฌ๊ณ ํ๊ฒฝ ๋ณ์? zk ํ๋ก์ธ์ค๋ ์์ฒด ID๊ฐ ๋ฌด์์ธ์ง ์ด๋ป๊ฒ ํ์ตํฉ๋๊น?์ผ์ข ์ ์ปจํธ๋กค๋ฌ๊ฐ ํฌ๋์ ์ผ๋ถ ํ๋๋ฅผ ๋์ ์ผ๋ก ์ค์ /ํด์ ํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ฉด ํด๋น ํฌ๋๊ฐ ๋ค์ ์์๋์ง๋ง ์ฌ์ ํ ์๋ตํ์ง ์์ต๋๋ค.
์ด๋ค ํ๋, ์ด๋ค ๊ฐ, ์ด๋ค ๋ ผ๋ฆฌ๋ฅผ ํฌ๋์ ์๋ฆด ๊ฒ์ธ์ง์ ๋ํ ์ง๋ฌธ์ ๋ฌด์์ ๋๊น?์ฃผ์์ ๋ช ๋ น์ค ํ๋๊ทธ๋ก ํ์ฅํ๋ ๊ฒ๊ณผ ๊ฐ์ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค.
(env vars์ ๋ํด ๋ ผ์ํ๋ ๊ฒ์ฒ๋ผ) ๋๋ env vars๋ก. ์
์ปจํธ๋กค๋ฌ ์ฐ๊ธฐ ์ฃผ์["zookeeper.com/index"] = 9, ๋ณํ
$.metdata["zookeeper.com/index"]๋ฅผ ZK_INDEX ํ๊ฒฝ์ผ๋ก ํ์ง๋ง ๋๋ ์ด๊ฒ์ ๋ง๋ค๊ณ ์๋ค.
์ ํํ ์ฌ์ก์ฌ(๋๋
๋ฌด์์ด๋ ) ํ์ํฉ๋๋ค.์ต๋ ํ๋์ ๋ช ๋ชฉ ์๋น์ค๋ฅผ ๋ถ๊ณผํ๋ ๊ฒ์ด ๋ถํฉ๋ฆฌํ๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค.
ํฌ๋๋น๋๋ ๊ทธ๋ฌํ ์ ํ์ ๊ตฌํํ๊ธฐ ์ด๋ ค์ธ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ์์คํ ์ด ๊ทธ๋ ๋ค
๋์จํ๊ฒ ๊ฒฐํฉ๋๊ณ ์ด๋ฌํ ์ ํ์ ๋ถ๊ณผํ๋ ๊ฒ์ด
๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ๋ฟ์ ๋๋ค.๋ช ๋ชฉ ์๋น์ค์ ๊ฐ ํฌ๋์ ์๋น์ค IP๋ฅผ ๋ถ์ฌํ ์ ์์ต๋๋ค.
์ฌ๊ธฐ์์ ์์ํ์ง๋ง ...
์ด๋ฌํ ์๋น์ค ์ค ์๋น์๋ ์์ ์ด ๋ณด์ ํ IP(์ด๋ฆ)๋ฅผ ๊ธฐ๋ํฉ๋๋ค.
์ฐ๊ฒฐํ๋ IP๋ก ํด์๋ฉ๋๋ค. ๋ฐ๋ผ์ 172.1.1.1์์ X์ ์ฐ๊ฒฐํ๋ฉด
๊ทธ๋ฌ๋ฉด X๋ 172.1.1์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค.์๋น์ค IP๋ ๋ค์๊ณผ ๊ฐ์ด ๋ ๊น์ด ์๋ ์์ ์ ์ํํ์ง ์๋ ํ ์ด๋ฅผ ์ถฉ์กฑํ์ง ์์ต๋๋ค.
SNAT/DNAT๋ก ์ธ๊ธํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ง์ ๋ ์ค์ง์ ์ธ ๋จ์ ์ด ์์ต๋๋ค.๋๋ ๋ชฉ์ ์ํ๊ฒ ํ๋ ค๋ ๊ฒ์ด ์๋๋ผ ๋จ์ง ์ฐ๋ฆฌ์๊ฒ ์์ฃผ ์ฝ๊ฐ์ ํต์ฆ์ด ์๋ค๋ ๊ฒ๋ฟ์ ๋๋ค.
1.0๊น์ง์ ์๊ฐ์ด ํ์ํฉ๋๋ค.
๊ฐ๋ ์ฆ๋ช ์กฐ์ฐจ๋ ์ ๋๋ก ๊ตฌํํ์ง ๋ชปํฉ๋๋ค.๋๋ ์ฐ๋ฆฌ๊ฐ ๊ฒฝํํ๊ณ ์ถ์ ๊ฒ์ ์ ํํ ์ฐพ์๋ด์ ๋ณผ ์ ์๋๋ก ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ๊ตฌํํ ์ ์๋ ๊ฒ. DNS์ ๋ํ ๋ฐ๋ณต์ ์ธ ์ฐธ์กฐ๋ฅผ ๊ฐ์ํ ๋
์ฌ๊ธฐ์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ์ ๋๊น์ง DNS ์ฌ์์ ์ ์ค๋จํ์ญ์์ค.
๋๋ ๊ทธ๊ฒ์ด ํ๋ช ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์๋ ค์ง ์์ ์ธํธ๋ฅผ ํธ๋ ๋ฐ ํนํ ์๊ฐ์ ํ ์ ํด์ผ ํฉ๋๋ค. kube/examples์ ๊ธฐ์กด ์์ ๋ฟ๋ง ์๋๋ผ ๊ตฌ์ฒด์ ์ธ ์์ (MongoDB ๋ณต์ ๋ณธ ์ธํธ, Zookeeper, Mysql Master/Slave)์ ํ์ฉํ ์ ์๋ 3๊ฐ์ง๊ฐ ์์ต๋๋ค. ์๋ง๋ ์์ ์ธ์ ์ ํญ๋ชฉ์ ํด์ํ๊ณ , ํด๊ฒฐํ ์ ์๋ ๋ฌธ์ ์ ๋ํ ๊ฒฝ๊ณ๋ฅผ ์ค์ ํ๊ณ , ๋ฌด์์ด ๋จ์ ์๋์ง ์๋ณํฉ๋๋ค.
๋ถํ ์์ ์ ์ค๋ ID ๋ฒํธ๋ฅผ ํ ๋นํ๋ ๋ฐ์๋ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ด ๊ธฐ๋ฅ์ ์ด๋ฆ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฐฐ์น ์์ ์ ์๊ตฌ ์ฌํญ์ด ์ฝ๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ณ๋๋ก ์ ์งํ๊ณ ์ถ์ต๋๋ค.
์ฌ์ก์ฌ์ ์: https://github.com/openshift/origin/pull/1965
๋ช ๋ชฉ ์๋น์ค ish ์๊ตฌ์ฌํญ์ ์ https://github.com/GoogleCloudPlatform/kubernetes/blob/master/examples/rethinkdb/image/run.sh#L26
ํนํ Google ์ง์์ ๊ฒฝ์ฐ ๋ฐฉํฅ์ด ์์ง ๋ช ํํ์ง ์์ ์ด์ ๊ฐ ๋ค์ ํผ๋์ค๋ฝ์ต๋๋ค. Google์ ์๋ ๋์ Borg์์ ์คํ ์ดํธํ(Stateful) ์๋น์ค๋ฅผ ์คํํด ์์ผ๋ฉฐ ์ด๋ฌํ ์ ํ์ ์ํฌ๋ก๋์ ํ์ํ ๊ฒ์ด ๋ฌด์์ธ์ง๋ ๋ถ๋ช ํฉ๋๋ค.
.. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ๋๋ฌ์ต๋๋ค.
์ฐธ๊ณ : ๊ฐ ์ค๋์ ๋ํด ๋ฆฌ์์ค ์ ์ธ๊ฐ ์ค์ํ ๊ฒฝ์ฐ ์ค๋ฅ/์ฌ์์ ์ค์ ํ๋ ์๋ช ์ด ๊ฒน์น ๊ฐ๋ฅ์ฑ์ด ํญ์ ์์ผ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฒด ๋ถ์ฐ ์ ๊ธ์ ์ํํด์ผ ํฉ๋๋ค(์๋ง๋ ์ค๋ ์๋ณ์๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ etcd ์ ๊ธ ์ฌ์ฉ). ์ ์ฌ์ ์ธ ์ด๊ตญ์ ์ธ ๊ธฐ๋ฅ ํ์ฅ์ ์ค๋ณต/๋ก๋๋ฅผ ์ํด ๊ฐ ์ค๋ ๋ด์์ ๋ ์ด์์ ๋์ผํ ๋ณต์ ๋ณธ์ ํ์ฉํ๋ ๊ฒ์ ๋๋ค.
์ด๊ฒ์ ๊ฐ ์ค๋์ ๋ํด ๊ณ ์ ํ ์๋น์ค/ํฌํธ๋ฅผ ์์ฑํ๊ณ replicas:1 ๋ก ๋ณต์ ์ปจํธ๋กค๋ฌ๋ฅผ ์คํํ์ฌ ์ง๊ธ ์์กฐํ ์ ์์ง๋ง ์ด์ ๊ฐ์ด "์๋์ผ๋ก" ๋ง์ ์์ ์ค๋๋ฅผ ๊ด๋ฆฌํ๋ ๊ฒ์ ์ฝ๊ฐ ์ํฌ๋ฆ ๋๋ค.
Kubernetes์์ ์ด๊ฒ์ ๊ตฌํํ๋ ์์ฐ์ค๋ฌ์ด ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์์ ๋ด์ฉ์ shards=1์ผ ๋ ํ์ฌ ๋์์ผ๋ก ์ ์์ ์ผ๋ก ์ ํ๋ฉ๋๋ค.
๋๋ ์ผ๋ฐ์ ์ผ๋ก ์ด๊ฒ์ ๋์ํฉ๋๋ค(๊ทธ๋ฆฌ๊ณ ๋น์ ์ด ๋งํ๋ฏ์ด, ๊ทธ๊ฒ์ Borg์์ ์๊ฐ์ ํ ์คํธ๋ฅผ ์ ๊ณตํ์ต๋๋ค), ๋น๋ก ๋๋ ์ค๋๋น ์ฌ๋ฌ ๋ณต์ ๋ณธ์ "์ด๊ตญ์ ์ธ ๊ธฐ๋ฅ ํ์ฅ"์ ์ฌ์ฉํ์ง ๋ง๋ผ๊ณ ์กฐ์ธํ๊ณ ์ถ์ต๋๋ค(๋น๋ก ์ฐ๋ฆฌ๋ ์๋์์ ์ด์ ๊ฐ์ ๊ฒ์ด ํ์ํ ์ ์์ง๋ง ๋ง์ด๊ทธ๋ ์ด์ ์ปค๋ฒ).
์์ ์ธ๊ธํ๋ฏ์ด ์ด๊ฒ์ ์ ์ ์์ ํ ๋น์ด ์๋ ์ผ๊ด ์์ ์ ์ง์ํ๊ธฐ ์ํด ์ํํด์ผ ํ๋ ์์ ๊ณผ ๋ฐ์ ํ๊ฒ ๊ด๋ จ๋์ด ์์ต๋๋ค(์ฌ๊ธฐ์์ "์ ํ 1"์ด๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ: https://github.com/GoogleCloudPlatform/kubernetes/issues/1624#issuecomment -97622142)
RC๋ฅผ ๋ณ๊ฒฝํ ๊ฒฝ์ฐ(๋๋ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ ๊ฒฝ์ฐ) ์กฐ์ ํด์ผ ํ๋ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ๋ฐฐํฌ๊ฐ ์ ํฉํ ๋ฐฉ์, ํนํ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋กค๋ง ์ ๋ฐ์ดํธ๋ฅผ ์ํํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?
๋จ์ํ RC์ ๋ํด์๋ง ์๋ํ๋ ๋ฐฐํฌ์๋ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์๋ค๊ณ ์๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ฐ๊ฐ์ ๋ํ ์คํธ๋ก์ฐ๋งจ์ด ์์ ๋๊น์ง ๋ฐฐํฌ ๊ตฌํ์ ๋ณด๋ฅํ๊ณ ์ถ์ ์๋ ์์ต๋๋ค.
----- ์๋ณธ ๋ฉ์์ง -----
๋๋ ์ผ๋ฐ์ ์ผ๋ก ์ด๊ฒ์ ๋์ํฉ๋๋ค.
Borg์์) "์ด๊ตญ์ ์ธ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ง ๋ง๋ผ๊ณ ์กฐ์ธํ์ง๋ง
์ค๋๋น ์ฌ๋ฌ ๋ณต์ ๋ณธ์ ํ์ฅ"(์๋ง๋ ๋ฌด์ธ๊ฐ๊ฐ ํ์ํ ์ ์์ง๋ง
๋ง์ด๊ทธ๋ ์ด์ ์ ๋ํ ์ปค๋ฒ ์๋์์์ ๊ฐ์ด).์์ ์ธ๊ธํ๋ฏ์ด ์ด๊ฒ์ ์ฐ๋ฆฌ๊ฐ ํด์ผ ํ ์ผ๊ณผ ๋ฐ์ ํ๊ฒ ๊ด๋ จ๋์ด ์์ต๋๋ค.
์ ์ ์์ ํ ๋น์ผ๋ก ์ผ๊ด ์์ ์ง์(๋ด๊ฐ "์ ํ 1"์ด๋ผ๊ณ ๋ถ๋ฅธ ๊ฒ)
์ฌ๊ธฐ:
https://github.com/GoogleCloudPlatform/kubernetes/issues/1624#issuecomment-97622142
)์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -101918080
์ธ์คํด์ค๋น ํ๋์ ์๋น์ค, RC ๋ฐ ์๊ตฌ ๋ณผ๋ฅจ ํด๋ ์์ ์์ฑํ๋ ๊ฒ๊ณผ ๊ฐ์ ์ฌ๋ฌ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์๊ธฐ ๋๋ฌธ์ 1.0์ ๋ํด ์ด(๋ฐ ์๋์ผ๋ก ์์ฑ๋ ์๊ตฌ ๋ณผ๋ฅจ ํด๋ ์)์ ์ฐ์ ์์๋ฅผ ์ง์ ํ์ง ์๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค.
Borg์์ ์กฐ๋ฐํ๊ณ ์ ์ ์ผ๋ก ํ ๋น๋ ์์ ์ธ๋ฑ์ค๊ฐ ๋งค์ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋ฐ๋ฉด, ์ฐ๋ฆฌ๋ ์ด๋ฌํ ์ธ๋ฑ์ค์ ์ฌ๋ฌ ๊ฐ์ง ๋จ์ ์ด ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๊ณ ์ง๋ ๋ช ๋ ๋์ ๋์์ ๊ฐ๋ฐํ๋ ๋ฐ ์๊ฐ์ ๋ณด๋์ต๋๋ค. ๋ง์ ๋ฌธ์ ๋ ์ธ๋ฑ์ค๊ฐ ์์ ์์ฒด์ ์๋ช ์ฃผ๊ธฐ ๋ฐ ID์ ์ฐ๊ฒฐ๋์ด ์๋ค๋ ์ฌ์ค์์ ๋น๋กฏ๋ฉ๋๋ค. ์ด๋ก ์ธํด ์ฌ๋ฌ ๋ฐฐํฌ ์ ๋ต, ๋ง์ด๊ทธ๋ ์ด์ , ๋์ ์์ ๊ด๋ฆฌ ๋ฐ ๊ธฐํ ์ฌ๋ฌ ์๋๋ฆฌ์ค๋ฅผ ๊ตฌํํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค. ๋ค๋ฅธ ๋ณต์ก์ฑ์ ์ฌ์ ๋ฐฐํฌ ๊ฐ ์์ ์ ๋ํด ์ธ๋ฑ์ค๋น ๊ตฌ์ฑ์ ์ ์ ์ผ๋ก ์์ฑํ๋ ๋ฐ์ ๋น๋กฏ๋ฉ๋๋ค. ์ด๋ ์ธ๋ฑ์ค ๊ฐ๋น ํ๋์ RC๋ฅผ ์์ฑํ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค. ๊ทธ๊ฒ์ ๋๊ตฐ๊ฐ๊ฐ ์ ๋ง๋ก ํ๊ณ ์ถ์ ์ผ์ด๋ผ๋ฉด ๊ฐ๋จํ ๊ฒ์ ๋๋ค. ๋ ์ด๋ธ์ ์ฌ์ ํ โโ์ ์ฒด ์ธํธ๋ฅผ ๋ถํดํ๋ ๋ฐ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ ธ๋๋ณ/๋ฐ๋ชฌ ์ปจํธ๋กค๋ฌ: ์ข์ ์ง์ ์ ๋๋ค. ์กฐ๋ฐํ๊ฒ ํ ๋น๋ ์ธ๋ฑ์ค๋ ์ด ๊ฒฝ์ฐ์ ์ข์ง ์์ ๋ชจ๋ธ์ ๋๋ค. ์๋ฅผ ๋ค์ด ๋ ธ๋๊ฐ ์๊ตฌ์ ์ผ๋ก ์ฌ๋ผ์ง๋ฉด ์ด๋ป๊ฒ ํฉ๋๊น? ์ธ๋ฑ์ค๊ฐ ํฌ๋ฐํด์ง๋๋ค. ๋๋ ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ์ง์ํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ผ๊ด ์์ : #1624์์ ๋ ผ์๋ ๊ฒ์ฒ๋ผ ํ์ฌ ์คํ ์ค์ธ ํฌ๋๊ฐ ์๋ ์๋ฃ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ธ๋ฑ์ค๋ฅผ ํ ๋นํ๋ ค๊ณ ํฉ๋๋ค.
์์์ ๋ ผ์ํ ๋ฐ์ ๊ฐ์ด ์ธ๋ฑ์ค ํ ๋น์ ์๊ตฌ ๋ณผ๋ฅจ ํด๋ ์๊ณผ ๊ฐ์ ๊ด๋ จ ์คํ ๋ฆฌ์ง๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ID๋ ๋คํธ์ํฌ ID(DNS ์ด๋ฆ ๋ฐ/๋๋ IP ์ฃผ์) ๋ฐ ์คํ ๋ฆฌ์ง์์ ๋น๋กฏ๋ฉ๋๋ค.
ํ ๋น์ ๋จ์ผ ๋ณต์ ์ปจํธ๋กค๋ฌ๋ก ๊ตฌ๋ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ๋จ์ํ ์๋ํ์ง ์์ต๋๋ค. ๋ณต์ ์ปจํธ๋กค๋ฌ๋ ๋ด๊ตฌ์ฑ ์๋ ๊ฐ์ฒด๊ฐ ์๋๋ฉฐ ์นด๋๋ฆฌ์, ๋กค๋ง ์ ๋ฐ์ดํธ, ์ฌ๋ฌ ๋ฆด๋ฆฌ์ค ํธ๋, ์ฌ๋ฌ ํด๋ฌ์คํฐ ๋ฑ์ ๋ํด ์๋น์ค๋น ์ฌ๋ฌ RC๊ฐ ์์ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ์ ์๋ ๋ฐฐํฌ ๊ฐ์ฒด(#1743)์๋ ์ฌ๋ฐ๋ฅธ ๋ฒ์๊ฐ ์์ต๋๋ค. .
ํ ๋น์๋ 3๊ฐ์ง ๋์์ด ์์ต๋๋ค.
PVC ํ ๋น์ ์ด์์ ์ผ๋ก๋ ๋์ผํ ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค.
ํฌ๋ ๋ง์ด๊ทธ๋ ์ด์ #3949๊ฐ ์ด๋ป๊ฒ ์กฐ์ ๋ ๊ฒ์ธ์ง๋ ๊ณ ๋ คํด ๋ณผ ๊ฐ์น๊ฐ ์์ต๋๋ค. ์ปจํ ์ด๋ ์ํ๋ฅผ ์ ์กํ๊ธฐ ์ํด ๊ต์ฒด๋๋ ํฌ๋๋ฅผ ์ญ์ ํ๊ธฐ ์ ์ ๊ต์ฒด ํฌ๋๋ฅผ ์์ฑํด์ผ ํฉ๋๋ค(MUST). ์ด๊ฒ์ ํ ๋ชจ๋ธ์ ์ฝ๊ฐ ๋ฌธ์ ๊ฐ ๋๊ฒ ๋ง๋ค ์ ์์ต๋๋ค. ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ํ ๋น ๋ฉ์ปค๋์ฆ์ ๋ง์ด๊ทธ๋ ์ด์ ์ ์ธ์ํด์ผ ํฉ๋๋ค.
๊ธฐํ ๊ณ ๋ ค ์ฌํญ:
๋๋ ๋น์ ์ด ๋งํ ๊ฒ ์ค ์ผ๋ถ์ ๋์ํ์ง ์์ง๋ง 1.0 ์ดํ๊น์ง ์ด ๋ ผ์๋ฅผ ๊ณ์ํ๊ธฐ ์ํด ๊ธฐ๋ค๋ฆฌ๊ฒ ์ต๋๋ค.
์ง๋ฌธ์ ํ๊ธฐ ์ํด ์ด ์ค๋๋ ์ค๋ ๋๋ฅผ ๋์ด๋ฆฝ๋๋ค. ๋ณต์ ์ปจํธ๋กค๋ฌ ๋ช ๋ช ์ ์ฑ ์ ๊ด์ฌ์ด ์์ต๋๊น? ํนํ ์์์ ์ค๋ช ํ ๋๋ก ๋ช ๋ชฉ์์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ด ๋ณต์ ์ปจํธ๋กค๋ฌ๊ฐ ์ ์ดํ๋ โโ๋ชจ๋ Pod์๋ 0001, 0002 ...์ ๊ฐ์ ์ ๋ฏธ์ฌ ๋ฒํธ๊ฐ ์ง์ ๋ฉ๋๋ค.
์์ ์ฌ์ฉ ์ฌ๋ก๋ ๋๋ฉ์ธ ์ด๋ฆ์ผ๋ก ์ด๋ฌํ ํฌ๋ ์ธํธ๋ฅผ ๊ฐ๋ฆฌํค๋ nginx ๋ก๋ ๋ฐธ๋ฐ์์ ๋๋ค. ๋ฐ๋ผ์ ํฌ๋๊ฐ ์๋ค ๊ฐ๋ค ํ ๋ ๋๋ฉ์ธ ์ด๋ฆ์ ํญ์ xxx-0001์์ xxx-000N์ผ๋ก ๊ณ ์ ๋์ด์ผ ํฉ๋๋ค.
@ravigadde ์ด ๋ฌธ์ ์ ๋ํ ๋ด ๋ง์ง๋ง ๋๊ธ์ ์ฝ์ด์ฃผ์ธ์: https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -102107352
RabbitMQ ์ปจํ ์ด๋๋ฅผ ์ค์ ํ๋ ๋์ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค. Rabbit์ ์ง์์ฑ์ ํธ์คํธ ์ด๋ฆ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ฏ๋ก ํธ์คํธ ์ด๋ฆ์ด ๊ฐ๋ณ์ ์ด๋ผ๋ ๊ฒ์ ์ปจํ ์ด๋๋ฅผ ๋ค์ ์์ํ ๋ Mnesia ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ค๋๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ด๋ฏธ์ง ๊ตฌ์ฑ(์ง์ ํธ์คํธ ์ด๋ฆ ๋ฐ Rabbit), ENV ๋ณ์ ๋ฐ Downward API๋ก ์์ ์ ์๋ํ์ต๋๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ฌด ๊ฒ๋ ๊ฐ์ ธ์ฌ ์ ์์์ต๋๋ค. Rabbit์ ์ฌ์ ํ โโ์์ฑ๋ Pod ์ด๋ฆ์ ์ ํํฉ๋๋ค. @mikedanese ์ ์์ ๋ฐ๋ผ ๋ณต์ ์ปจํธ๋กค๋ฌ ์ฌ์ฉ์์ ์ ํํ์ฌ ์ผ์์ ์ผ๋ก ํด๊ฒฐํฉ๋๋ค.
๋ด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด celerey-rabbit ์์ ์ rabbitmq ํฌ๋(๋ณต์ ์ปจํธ๋กค๋ฌ๋ก ์์ฑ)๋ ๋ฐ์ดํฐ๊ฐ ์๊ตฌ ๋์คํฌ์ ์ ์ฅ๋์ด ์์ด๋ ํฌ๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์๊ฒ ๋ฉ๋๋ค. Rabbitmq ๋ฌธ์์์:
RabbitMQ๋ ์์คํ ์ ํ์ฌ ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค. ํธ์คํธ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋๋ฉด ๋น์ด ์๋ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฑ๋ฉ๋๋ค. ๋ฐ์ดํฐ ์์ค์ ๋ฐฉ์งํ๋ ค๋ฉด ๊ณ ์ ๋๊ณ ํ์ธ ๊ฐ๋ฅํ ํธ์คํธ ์ด๋ฆ์ ์ค์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ง๊ธ์ ์ด์ ๋ํ ์ข์ ์๋ฃจ์ ์ด ์์ง๋ง ๋ง์ด๊ทธ๋ ์ด์ ๊ฐ๋ฅํ ์๊ตฌ ๋์คํฌ๋ก ํฌ๋(rc์ ๋ฐ์ธ๋ฉ๋์ง ์์)๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค. ์ฃผ์ํ ์ ์ ํฌ๋๋ ํน์ ์คํจ์ ๊ฒฝ์ฐ ์๋์ผ๋ก ์ผ์ ์ ๋ค์ ์ก์์ผ ํฉ๋๋ค. ๊ทธ๊ฒ์ด ๋ด๊ฐ ์๊ฐํ ์ ์๋ ์ ์ผํ ํธ์คํธ ์ด๋ฆ์ ์ ์ ์ผ๋ก ์ ์งํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
๋๋ ์์ ์ ํธ์คํธ ์ด๋ฆ dir์ ์์ ์ ์ธ ์์น์ ์ฌ๋ณผ๋ฆญ ๋งํฌํฉ๋๋ค.
2015๋ 7์ 11์ผ ์คํ 5์ 26๋ถ์ Mike Danese [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๋ด๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด Rabbitmq ํฌ๋(๋ณต์
์ปจํธ๋กค๋ฌ) clerey-rabbit์์
https://github.com/GoogleCloudPlatform/kubernetes/tree/master/examples/celery-rabbitmq
์์ ๋ ๋ฐ์ดํฐ๊ฐ
์๊ตฌ ๋์คํฌ. Rabbitmq ๋ฌธ์์์:
RabbitMQ๋ ํ์ฌ ํธ์คํธ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋๋ ํ ๋ฆฌ์ ์ด๋ฆ์ ์ง์ ํฉ๋๋ค.
์ฒด๊ณ. ํธ์คํธ ์ด๋ฆ์ด ๋ณ๊ฒฝ๋๋ฉด ๋น์ด ์๋ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์์ฑ๋ฉ๋๋ค. ํผํ๊ธฐ ์ํด
๋ฐ์ดํฐ ์์ค ๊ณ ์ ๋๊ณ ํ์ธ ๊ฐ๋ฅํ ํธ์คํธ ์ด๋ฆ์ ์ค์ ํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ง๊ธ์ ์ด์ ๋ํ ์ข์ ์๋ฃจ์
์ด ์์ง๋ง ํฌ๋๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค(
rc์ ๋ฐ์ธ๋ฉ๋จ) ๋ง์ด๊ทธ๋ ์ด์
๊ฐ๋ฅํ ์๊ตฌ ๋์คํฌ๊ฐ ์๋ ๊ฒฝ์ฐ, ์ฃผ์ ์ฌํญ์ ํฌ๋์
๋๋ค.
ํน์ ์คํจ์ ๊ฒฝ์ฐ ์๋์ผ๋ก ์ผ์ ์ ์กฐ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๊ฒ
๋ด๊ฐ ์๊ฐํ ์ ์๋ ์ ์ผํ ๋ฐฉ๋ฒ์ ํธ์คํธ ์ด๋ฆ์ ์ ์ ์ผ๋ก ์ ์งํ๋ ๊ฒ์
๋๋ค.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/GoogleCloudPlatform/kubernetes/issues/260#issuecomment -120662490
.
์ด๊ฒ์ด ํธ์คํธ ์ด๋ฆ์ด ํฌ๋ ์ด๋ฆ์์ ํ์๋์ด์๋ ์๋๋ ์ด์ ์ ์์ ๋๋ค -- #4825
์ฝ๊ฐ์ ํฅ์ ์ฃผ๊ธฐ ์ํด:
ํด๊ฒฐํด์ผ ํ ๋ช ๊ฐ์ง ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
์ด ๋ชจ๋ ๊ฒ์ด ๋ฐ๋์ ๋์ผํ ์๋ฃจ์ ์์ ํด๊ฒฐ๋์ด์ผ ํ๋ ๊ฒ์ ์๋๋๋ค. ์๋ฅผ ๋ค์ด, ์๊ท๋ชจ ํด๋ฌ์คํฐ ID(2-7)์ ๋๊ท๋ชจ ํด๋ฌ์คํฐ ID(>7) ์ฌ์ด์๋ ์๋นํ ์ฐจ์ด๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ํฐ ๊ฒฝ์ฐ ํด๋น ์ํํธ์จ์ด๋ ๊ฒฉ์ฐจ์ ๋ํด ๋ ์ฐ๋ คํ๊ฑฐ๋ ๊ธฐ์กด ํฉ์/๋ฉค๋ฒ์ญ ํ๋กํ ์ฝ์ด ์์ต๋๋ค. ์์ ๊ฒฝ์ฐ์๋ ์ํํธ์จ์ด๊ฐ ID๋ฅผ ์ค์ ํ๋ ๋ฐ ๋ ๋ง์ ๋์์ด ํ์ํฉ๋๋ค. ์ด๋ฅผ ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ(>7) ๋ฐ ๊ธฐ์กด ํด๋ฌ์คํฐํ(2-7) ์ํํธ์จ์ด๋ก ๊ตฌ๋ถํฉ๋๋ค.
1a, 1b, 2a์ ๋์ํฉ๋๋ค. 2b๋ ๋ค๋ฅธ ๋ฌธ์ ์ฒ๋ผ ๋ค๋ฆฌ์ง๋ง ์๋ฃจ์ ์ ๋์ผํ ํจํด์ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ท๋ชจ (3)์ ์ฃผ๋ก ํ๋์ ์๋น์ค์ ์ธ์คํด์ค๋น RC์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ์ด ์ ์ ํ์ง ์๋ค๋ ๊ฒ์ ์์ฌํ๋ค๊ณ ์๊ฐํ์ง๋ง ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ์ ๊ทธ๋ ์ง ์์ ๊ฒ์ ์ฐจ์ด์๋ ๋์ํฉ๋๋ค.
๋ง์คํฐ ์ ๊ฑฐ(4)๋ ๋ณ๋๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
๋ํ (5)์ ๋์ํฉ๋๋ค.
์ด ์์ ์์ ๋๋ถ๋ถ์ ์ค๊ณ ์๊ตฌ ์ฌํญ์ด ๋ช ํํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋จ์ ์ค๊ณ ์ง๋ฌธ:
I. VIP๋ฅผ ํ ๋นํ๊ฑฐ๋ IP ๋ณ๊ฒฝ์ ํ์ฉํฉ๋๊น? VIP๋ ํ์ฌ ์์คํ ์ ํตํด ๊ฒ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ์ปจํ ์ด๋๊ฐ Linux๋ฅผ ํตํด ์์ฒด IP๋ฅผ ๊ฒ์ํ ์ ์์ด์ผ ํ๋์ง ์ฌ๋ถ๋ ์ด๊ฒ๊ณผ ๋ฐ์ ํ๊ฒ ๊ด๋ จ๋์ด ์์ต๋๋ค. ๋๋ ๊ทธ๋ค์ด ๊ทธ๋ค์ IP๋ฅผ ๋ฐ๊ฒฌํ ์ ์์ด์ผ ํ๋ค๊ณ ๊ฐ์ ํ์ง๋ง pod IP(#12595)์ ๊ฐ์ด ํํฅ API๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. IP ๋ณ๊ฒฝ์ ํ์ฉํ๋ฉด(ํฌ๋ IP ์ฌ์ฉ์ผ๋ก ์ธํด) DNS TTL ๋ฐ ์บ์ฑ "๋ฒ๊ทธ"๋ก ์ธํด IP ๋ณ๊ฒฝ ์๋๊ฐ ์ ํ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ์ธ์ ๊ฐ๋ ํฌ๋ IP๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์๋๋ก ๋ง๋ค ๊ณํ์ด๋ฏ๋ก(#3949) IP ๋ณ๊ฒฝ์ด ์๊ตฌ์ ์ธ ๊ฒ์ ์๋๋๋ค.
โ ก. ํธ์(ํฌ๋๋ก) vs. ํ(ํฌ๋์์). ์๋น์ค์ RC๋ ์๋์ ์ผ๋ก ํฌ๋์ ๋์จํ๊ฒ ์ฐ๊ฒฐ๋๋ฏ๋ก ๋ ๋ค "ํธ์" ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค. ๋ช ๋ชฉ ์๋น์ค๋ ๋ณธ์ง์ ์ผ๋ก ํฌ๋ ID์ ๋ ๋ง์ด ์ฐ๊ฒฐ๋ฉ๋๋ค(์๊ตฌ์ ์ผ๋ก๋ ์๋์ง๋ง ํฌ๋๋ ๊ต์ฒด ๊ฐ๋ฅํด์ผ ํจ). ๊ฒฐ๊ณผ์ ์ผ๋ก ํธ์ ๋ชจ๋ธ์ ๋ํ ๋๊ธฐ ๋ถ์ฌ๊ฐ ๋ํ ๊ฒ์ผ๋ก ๋ณด์ ๋๋ค. ์ค์ผ์ค๋ง, esp์ ๊ฐ์ ํ ๋น์ ๋ค๋ฅธ ๊ฒฝ์ฐ. ์๊ตฌ ๋ณผ๋ฅจ์ ๋ํ ์๊ตฌ ๋ณผ๋ฅจ ํด๋ ์๊ณผ ๊ฐ์ ๋ฐฐํ์ ๋ฐ์ธ๋ฉ์ "ํ(pull)"์ด๋ผ๊ณ ๋ ํ๋ ์์ฒญ/ํ์ธ ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๊ฒ์ด ํ์ฌ ๋ด๊ฐ ๋ช ๋ชฉ์์ ์๋น์ค์ ๋ํด ์ ํธํ๋ ๋ชจ๋ธ์ ๋๋ค.
(๋)์ ๋ํด ์๊ฒฌ์ด ์๋ ์ฌ๋์ด ์์ต๋๊น?
๋ง์คํฐ ์ ํ์ #1542์ด๋ฉฐ HA ๊ตฌํ์ ์ผ๋ถ๋ก ๋ ผ์๋๊ณ ์์ต๋๋ค(์: #12884).
๋ฐ๊ณ ๋น๊ธฐ๋๊ฒ ๋ฌด์จ๋ง์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค์.
๋๋ ์ด ๋ฌธ์ ์ ๋๋ถ๋ถ์ ๋ค์ ์ฝ์์ผ๋ฉฐ
ํด๊ฒฐ์ฑ
. ์ฐ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๋ค๋ฆฌ๋ฅผ ๊ตฌ์ถํ๊ธฐ ์ํด ์ผ๋ จ์ ๊ธฐ๋ฅ์ด ํ์ํฉ๋๋ค.
์ด๋ฌํ ์ข
๋ฅ์ ์ฑ.
์ผ๋จ ํฌ๋๊ฐ ์คํ๋๋ฉด ์ค์ ๋ก ํ ์ ์๋ค๋ ๊ณต๋ฆฌ๋ก ์์ํ๊ฒ ์ต๋๋ค.
์คํ ์ค์ธ ํฌ๋๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค. ์ฌ๊ธฐ์๋ ๋ช ๊ฐ์ง ์์ธ๊ฐ ์์ต๋๋ค(์: ๊ฐ์
ํ์ผ ์์คํ
๋ด์ฉ) ๊ทธ๋ฌ๋ ์ค์ํด ๋ณด์ด๋ ๊ฒ๋ค(env vars, IP,
hostname) ๋ฌด์์ผ๋ก ์์ํ๋ ๋งํ๊ฒ ๋ฉ๋๋ค.
๋๋ ๋ํ ๋์จํ ๊ฒฐํฉ์ด
์๋น์ค ๋ฐ Pod๋ ์ ์ง, ์ฐ๋ฆฌ๊ฐ ์ด์ผ๊ธฐํ๋ ๊ฒ์ ์ค์ ๊ฐ ์๋ ๊ฒ์ผ๋ก ๋ง๋ญ๋๋ค.
์๋น์ค. Pod๋ ์๋น์ค๊ฐ ์์ ์๋ ๊ฒ์ ์ค์ ๋ก ์์ง ๋ชปํฉ๋๋ค. ์ฐ๋ฆฌ๊ฐ ๋ณํ๋ค๋ฉด
์ฆ, ๋ ์ด์ ์๋น์ค๊ฐ ์๋๋๋ค.
๋๋ ์์์ ํ๋ฆ์ ๋ฐ๋ผ๊ฐ์ ๋์๊ฐ ๋์ง ์๋ ๊ฒ์ ๋ณผ ๊ฒ์ ๋๋ค.
์์ด๋์ด 1: ThingPools ๋ฐ ํจ์น.
์๋ก์ด API ๊ฐ์ฒด ๋๋ ๋ค์์ ํ์ ์ ์ํ ์ ์๋ ๊ฒ์ ์ ์ํ์ญ์์ค.
๊ฒ๋ค. ๋ฌผ๊ฑด์ด๋? Thing์ ๋ฌธ์์ด(๋๋ JSON blob)์
๋๋ค.
์ด๊ฑฐํ์ด ์์ต๋๋ค. ์ฌ๋ฌผ๊ณผ ์ฌ๋ฌผ์ ํ์ ๋ง๋ค ์ ์์ต๋๋ค.
์ฌ์ฉํ ์ ์์ต๋๋ค. ์ฌ๋ฌผ ์ ํ์๋ VUID(ํธ์คํธ ์ด๋ฆ), ๋ฌธ์์ด, VIP๊ฐ ํฌํจ๋ฉ๋๋ค.
์์ฑ ์์
์ ์ ๋ฌํ ์ ์๋ ์ API ๊ตฌ์ฑ์ ์ ์ํฉ๋๋ค.
๋ฐ์ . ํจ์น๋ ์ ์ฉ ์ค์ธ ๊ฐ์ฒด๋ฅผ ํจ์นํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์
๋๋ค.
๋ง๋ค์ด์ง. ํจ์น ์ต์
์ค ํ๋๋ "ThingPool์์ ํ ๋น"์
๋๋ค.
์ด๊ฒ๋ค์ ํฉ์น๋ ค๋ฉด:
ThingPool ์ ์ { meatadata.name: my-quorum-hostnames, ์ ํ: VUID,
autogenerate: 5, } // 5๊ฐ์ ์ ํจํ VUID ํ์ ์์ฑํฉ๋๋ค.
RC ์ ์ { ๋ณต์ ๋ณธ: 5 ...}
RC์ ์์ฑ(POST)์์ Patch: { what:
"podTemplate.spec.containers[*].metadata.VUID", ํ: "my-quorum-hostnames"
}
POST ์์
์ RC์ ํจ์น๋ฅผ ์ ์ฉํฉ๋๋ค - ํ๋์ VUID ํ ๋น
ThingPool์ ์ปจํ
์ด๋๋น ํฌ๋๊ฐ ์ฃฝ๊ณ ๋ค์ ์์ฑ๋ ๋๋ง๋ค
VUID๊ฐ ํ๋ก ๋ฐํ๋๊ณ ์์๋ ๋ค์ ํฌ๋๊ฐ VUID๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
์ด๊ฒ์ ์ฌ์ฉํ์ฌ ๋ฌธ์์ด ํ("0" ~ "99")์ ์์ฑํ๊ณ
๊ทธ๊ฒ๋ค์ ํ๊ฒฝ ๋ณ์์ ๋ฃ์ต๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ์ฌ VIP ํ์ ํ ๋นํ๊ณ
๊ทธ๋ฐ ๋ค์ ํด๋น VIP๋ฅผ ํฌ๋์ ํ ๋นํฉ๋๋ค(์๋ก์ด ๊ธฐ๋ฅ์ด ๋ ๊ฒ์
๋๋ค - ๋ด๊ตฌ์ฑ ํฌ๋
IP - ์ด๊ฒ์ด ์ด๋ป๊ฒ ํ์ฅ๋๋์ง ํ์คํ์ง ์์ต๋๋ค. :) ๋ค์์ ํ์ ์์ฑํ ์ ์์ต๋๋ค.
PersistentVolumeClaim์ ๊ฐ ํฌ๋๊ฐ ์ฌ์ฉํ๋ ํด๋ ์ โโ๋ณผ๋ฅจ์ ์ด๋ฆ์ ์ง์ ํ๊ณ ํจ์นํฉ๋๋ค.
์ด ์์ด๋์ด๋ ์ฌ๋ฌ ๋ฉด์์ ๋ถ์์ ํ์ง๋ง
ํฌ๋ ์ธํธ๋ฅผ ์์ ํ ์ ์ํ์ง ์๊ณ ํฌ๋ ์ธํธ์ ๋ํ ์์ด๋์ด.
์์ด๋์ด 2: ํฌ๋ ์ธํธ๋ฅผ ์ ์ํฉ๋๋ค. ์๋น์ค์ธ ์ฒ ํ์ง ๋ง์ธ์. ๋ ๊ฐ๊น๋ค
๋ณด๊ทธ ์ก์ผ๋ก. RC์ ๋น์ทํ์ง๋ง ํฌ๋์ ์์๋ฅผ ํ ๋นํฉ๋๋ค.
์ปจํธ๋กค - ์ค๋ ๋ฒํธ. VUID ํ์ ์ ์ดํฉ๋๋ค(๊ทธ๋ฌ๋ ์ฐ๋ฆฌ๋
์ฌ์ฉ์๊ฐ ์ค์ ํ ์ ์๋ ํธ์คํธ ์ด๋ฆ, ํ ...).
๋ ๋ง์ ์์ด๋์ด๊ฐ ์๋ค๊ณ ์๊ฐํ์ง๋ง ๊ทธ๋ ์ง ์์ต๋๋ค. ๋๋ ์ถ์ํ์ ์จ๋ฆํ๊ณ ์๋ค
๋ฐ ๊ตฌํ - ์ฐ๋ฆฌ๊ฐ ํ ์ ์๋ ์ถ์ํ๋ฅผ ์ ์ํ๋ ๊ฒ์ ๋ฌด์๋ฏธํฉ๋๋ค.
๊ตฌํํ๋ค. ๋ช
๋ชฉ์์ VIP๋ ํ๋ฅญํ๊ฒ ๋ค๋ฆฌ์ง๋ง
iptables์ ํ๊ณ ํฌ๋ ์ธํธ์ ์์ ์ ์ธ ํธ์คํธ ์ด๋ฆ ์ธํธ ์ ๊ณต
์ธํธ์ ๋ํ ์คํ ๋ฆฌ์ง ์ธํธ์ ํจ๊ป ๊ฐ์ฅ ์ค์ํ ๊ฒ ๊ฐ์ต๋๋ค.
๊ผฌ๋ฆฌ์ ๋จ๊ฑฐ์ด ๊ผฌํฌ๋ฆฌ.
2015๋
8์ 18์ผ ํ์์ผ ์คํ 7์ 28๋ถ, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:
1a, 1b, 2a์ ๋์ํฉ๋๋ค. 2b๋ ๋ค๋ฅธ ๋ฌธ์ ์ฒ๋ผ ๋ค๋ฆฌ์ง๋ง
์๋ง๋ ์๋ฃจ์ ์ ๋์ผํ ํจํด์ ์ฌ์ฌ์ฉํ ์ ์์ต๋๋ค.๊ท๋ชจ (3)์ ์ฃผ๋ก ํ๋์ ์๋น์ค์ ๋ํ ํด๊ฒฐ ๋ฐฉ๋ฒ๊ณผ
์ธ์คํด์ค๋น RC๋ ์ ์ ํ์ง ์์ง๋ง
ํด๋ผ์ฐ๋ ๋ค์ดํฐ๋ธ vs.๋ง์คํฐ ์ ๊ฑฐ(4)๋ ๋ณ๋๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
๋ํ (5)์ ๋์ํฉ๋๋ค.
์ด ์์ ์์ ๋๋ถ๋ถ์ ์ค๊ณ ์๊ตฌ ์ฌํญ์ด ๋ช ํํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๋จ์ ์ค๊ณ ์ง๋ฌธ:
I. VIP๋ฅผ ํ ๋นํ๊ฑฐ๋ IP ๋ณ๊ฒฝ์ ํ์ฉํฉ๋๊น? ์ด๊ฒ๊ณผ ๋ฐ์ ํ๊ฒ ๊ด๋ จ๋์ด ์๋์ง ์ฌ๋ถ
์ปจํ ์ด๋๋ Linux๋ฅผ ํตํด ์์ฒด IP๋ฅผ ๊ฒ์ํ ์ ์์ด์ผ ํฉ๋๋ค.
VIP๋ ํ์ฌ ์์คํ ์ ํตํด ๊ฒ์ํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋๋ ๊ทธ๋ค์ด ํ ๊ฒ์ด๋ผ๊ณ ๊ฐ์ ํฉ๋๋ค
๊ทธ๋ค์ IP๋ฅผ ๋ฐ๊ฒฌํ ์ ์์ด์ผ ํ์ง๋ง ํํฅ API๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํฌ๋ IP ์ฌ์ฉ(#12595 https://github.com/kubernetes/kubernetes/pull/12595).
IP ๋ณ๊ฒฝ์ ํ์ฉํ๋ฉด(ํฌ๋ IP ์ฌ์ฉ์ผ๋ก ์ธํด) ์๋์ ์ ํ์ด ์์์ ์๋ฏธํฉ๋๋ค.
DNS TTL ๋ฐ ์บ์ฑ "๋ฒ๊ทธ"๋ก ์ธํ IP ๋ณ๊ฒฝ. ์ด๋ ์๊ฐ ์ฐ๋ฆฌ๋
๋ํ ํฌ๋ IP๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์๋๋ก ๋ง๋ค ๊ณํ์ ๋๋ค(#3949
https://github.com/kubernetes/kubernetes/issues/3949), ๋ฐ๋ผ์ IP ๋ณ๊ฒฝ
์์ํ์ง ์์ ๊ฒ์ ๋๋ค.โ ก. ํธ์(ํฌ๋๋ก) vs. ํ(ํฌ๋์์). ์๋น์ค ๋ฐ RC๋
์๋์ ์ผ๋ก ํฌ๋์ ๋์จํ๊ฒ ์ฐ๊ฒฐ๋๋ฏ๋ก ๋ ๋ค "ํธ์"๋ฅผ ์ฌ์ฉํฉ๋๋ค.
๋ชจ๋ธ. ๋ช ๋ชฉ ์๋น์ค๋ ๋ณธ์ง์ ์ผ๋ก ํฌ๋ ์์ด๋ดํฐํฐ์ ๋ ์ฐ๊ฒฐ๋ฉ๋๋ค.
(์๊ตฌ์ ์ด์ง๋ ์์ง๋ง -- ํฌ๋๋ ๊ต์ฒด ๊ฐ๋ฅํด์ผ ํจ). ๊ฒฐ๊ณผ์ ์ผ๋ก ๋๋ ๋ณธ๋ค
ํธ์ ๋ชจ๋ธ์ ๋ํ ๋๊ธฐ ๋ถ์ฌ๊ฐ ์ ์ต๋๋ค. ๋ค์๊ณผ ๊ฐ์ ๊ธฐํ ํ ๋น ์ฌ๋ก
์ผ์ , ํนํ. ์๊ตฌ ๋ณผ๋ฅจ ํด๋ ์๊ณผ ๊ฐ์ ๋ฐฐํ์ ๋ฐ์ธ๋ฉ
์๊ตฌ ๋ณผ๋ฅจ์ ๊ฒฝ์ฐ "ํ(pull)"์ด๋ผ๊ณ ๋ ํ๋ ์์ฒญ/ํ์ธ ๋ชจ๋ธ์ ์ฌ์ฉํฉ๋๋ค. ๊ทธ๊ฒ์ ํ์ฌ
๋ช ๋ชฉ์์ ์๋น์ค๋ฅผ ์ ํธํ๋ ๋ชจ๋ธ.(๋)์ ๋ํด ์๊ฒฌ์ด ์๋ ์ฌ๋์ด ์์ต๋๊น?
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -132423385
.
๋๋ ์๋ง๋ ๋น์ ์ด ์๊ฐํ๋ ๊ฒ์ฒ๋ผ ์ง์ ํ ์ด์ ์ ์๋ฏธํ์ง ์์์ ๊ฒ์
๋๋ค.
์ธ์คํด์ค ์ธํธ๋ฅผ ์ด๊ธฐํํด์ผ ํ๋ ๊ธฐ๋ฅ์ ๊ตฌ์ถํ ๋
(๋ช
์์ ์ผ๋ก ์กฐ์ ํ์ง ์๊ณ )
์ผ๋ฐ์ ์ผ๋ก ํด๋ฌ์คํฐ๋ฅผ ๋ถํธ์คํธ๋ฉํ๋ ๋ฐ๋ ๋ค๋ฅธ ํ(Pod)๊ณผ์ "1" ๋ํ๋ก ์ถฉ๋ถํฉ๋๋ค. ์
์๋ ๋ณต์ ๋ณธ ์ธํธ๋ฅผ ์์ํด์ผ ํ๋ mongodb์
๋๋ค.
๊ทธ๋ค์ด "2" ๋๋ "3" ์์์ด๋ผ๊ณ ์๊ฐํ๋ ๊ฒฝ์ฐ, ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ป์ ์ ์์ต๋๋ค.
๋ถํ ์ ์์ํฉ๋๋ค. ๊ทธ๋ฌ๋ "1"์ ๋งค๋ฒ ์์ ํ๊ฒ ์ด๊ธฐํ๋ ์ ์์ผ๋ฉฐ,
๋ค๋ฅธ ๊ตฌ์ฑ์(์๊ตฌ ์ํ๋ฅผ ์ฌ์ฉํ์ฌ
์ด๋ฏธ ํด๋ฌ์คํฐ์ ์ผ๋ถ์ธ์ง ํ์ธ). ์ ๋ฐ๋ผ
์ ์ ์๋น์ค์์ ์ ๊ณตํ๋ ๋ณด์ฆ์ ์ค์ ๋ก ์ป์ง ๋ชปํ ์๋ ์์ต๋๋ค.
ํด๋ฌ์คํฐ๋ ์ฑ๊ณต์ ์ด์ง๋ง ์ธ๋ถ์ ๋ณ๋์ ํฌ๋๋ฅผ ์์ฑํ ํ์๊ฐ ์์ต๋๋ค.
์๋น์ค๋ฅผ ์ด๊ธฐํํ์ญ์์ค(์ฌ์ง์ด ๋์์ง๋ ์์ง๋ง).
2015๋
8์ 18์ผ ํ์์ผ ์คํ 11:59, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:
๋ง์คํฐ ์ ๊ฑฐ๋ #1542์ ๋๋ค.
https://github.com/kubernetes/kubernetes/issues/1542 , ํ์ฌ
HA ๊ตฌํ์ ์ผ๋ถ๋ก ๋ ผ์๋จ(์: #12884
https://github.com/kubernetes/kubernetes/pull/12884).โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -132439272
.
ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
@smarterclayton ๋ช ๋ชฉ์์ ์๋น์ค ๋ฌธ์ ๋ ์ ์ณ๋๊ณ ์์ง๋ง ์ค๋ช ํ๋ ๊ฒ์ฒ๋ผ ๋ถํธ์คํธ๋ฉํ๋ ๊ฒ์ ์์ ํ์ง ์์ต๋๋ค. "1"์ด ์ ์์คํ ์์ ๋ค์ ์์๋๊ณ ๊ธฐ์กด ๋ ธ๋์ ๋๋ฌํ ์ ์์ผ๋ฉด ๋ค์ ๋ถํธ์คํธ๋ฉ๋๊ณ ์ด์ ๋ ๊ฐ์ mongodb๊ฐ ๊ถํ์ด ์๋ค๊ณ ์ฃผ์ฅํฉ๋๋ค. ๋ถํธ์คํธ๋ฉ์ด ์๋ฃ๋ ํ ๋ถํธ์คํธ๋ฉ ๊ธฐ๋ฅ์ ์ ๊ฑฐํ๋ ค๋ฉด ์์ ์ ์๋ฅผ ๋ณ๊ฒฝํด์ผ ํฉ๋๋ค.
@thockin ์ด ์์ํ๋ ๊ฒ์ฒ๋ผ ์ฌ๊ธฐ์์ ์ ์ฌํ์ง๋ง ๋ค๋ฅธ ๋ช ๊ฐ์ง ๊ธฐ๋ฅ์ ๋ถํ์ํ๊ฒ ํตํฉํ๊ณ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ k8 ์์ค์์ ์๊ฒฉํ๊ฒ ํ์ํ ๊ฒ๋ณด๋ค ๋ ๋ง์ด ํฌํจํ๊ณ ์์ต๋๋ค.
์์์ ์ค๋ช ํ ๋ ๊ฐ์ง ๋งค์ฐ ๋ค๋ฅธ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์ต๋๋ค. ์ถ์ฒ์ ๋ฐ๋ผ ๋ค๋ฆ ๋๋ค.
_Prescriptive:_ "N๊ฐ์ ์ค๋๋ฅผ ์คํํ๊ณ ์ถ๊ณ , ๊ทธ๋ณด๋ค ๋ง๊ฑฐ๋ ์ ์ ๊ฒฝ์ฐ ๋ณ๊ฒฝํ์ฌ N์ผ๋ก ๋๋๋ฆฌ์ญ์์ค."
_Descriptive:_ "์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์กฐ๊ฐ์ ์๋์ผ๋ก ๊ฒ์ํ๊ณ ์ถ๊ณ , ์ด๋ป๊ฒ๋ ์กฐ๊ฐ์ด ์๋ค ๊ฐ๋ค ํ๋ฉด ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค."
๋๋ ์ด๊ฒ๋ค์ด ๋ค๋ฅด๊ณ ๋ค๋ฅด๊ฒ ์ค๋ช ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค(์ค์ ๋ก ์คํ ์ค์ธ ํฌ๋์ ์ ์ฌํ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์ ๊ณตํ ์ ์์ง๋ง).
ํ ๋ก ์๋ ๋ฆฌ์์ค ํ์ฑ ๋ฐ ๋จ์ผ ์ก์ธ์ค ๋ณด์ฅ๋ ํฌํจ๋์์ต๋๋ค. Afaics, k8s ๋ด์์ ์ด๊ฒ์ด ์ํ๋์ด์ผ ํ๋ _only_ ๊ฒฝ์ฐ๋ ์๊ฒฉ ์๊ตฌ ๋ณผ๋ฅจ์ ๋ง์ดํธํ๋ ๊ฒ์ด๋ฉฐ(fs ๋ง์ดํธ๋ ์ปจํ ์ด๋ ์ธ๋ถ์์ ์ํ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์) ๊ธฐ๋ณธ ์๊ฒฉ ๋ณผ๋ฅจ ์๋น์ค๊ฐ ' ์ด๋ฏธ ๋ด๋ถ์ ์ผ๋ก ์ธํ๋ฆฌ๋ฅผ ์ ๊ณตํ๊ณ ์์ต๋๋ค. ๋ค๋ฅธ ๋ชจ๋ ๊ฒฝ์ฐ๋ ๋ถ์ฐ ์ ๊ธ ์๋น์ค(๋๋ ๋ด๋ถ์ ์ผ๋ก ์ ๊ธ์ ์ ๊ณตํ๋ ์๋น์ค์ ์ก์ธ์ค)๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์์ ์์ฒด์์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์์ ์ ์์ฒด ์ ๊ธ์ ์ํํ๋๋ก ์์ฒญํ๋ฉด ๋ชจ๋ ์ข ๋ฅ์ ํจํด(๊ณ ์ ํ ๋น, ๊ธฐํ์ฃผ์์ ํ ๋น, "ํซ ์คํ์ด" ๋ฑ)๊ณผ ๋๋ฌ ๋ถ๊ฐ๋ฅ/๋ณต๊ตฌ ์ ๋ต(ํ๋ ์คํจ, ๋ง์ง๋ง์ผ๋ก ์๋ ค์ง ๊ฒ์ผ๋ก ๊ณ์ ๋ฑ)์ด ์ด๋ฆฝ๋๋ค.
์ด ๋ฒ๊ทธ์์ ์ผ๋ฐ ๋ฆฌ์์ค ํ์ฑ ๊ธฐ๋ฅ ์์ฒญ์ ์ฎ๊ธฐ๋ ๊ฒ์ด ์ข์ต๋๋ค(๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ k8 ์์ฒด์ ๋ ์ด์ ๊ด์ฌํ์ง ์๊ณ k8์์ ๋ค์ํ ๋ถ์ฐ ์ ๊ธ ์๋น์ค๋ฅผ ์คํํ๊ธฐ ์ํ ๋ ์ํผ๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ํ์ฑ์ ๊ตฌํํฉ๋๋ค).
์๋ฆผ: ๋จ์ผ VIP ๋ค์ _๋ง์_ ํฌํธ๊ฐ ์์ต๋๋ค. ๊ธฐ๋ณธ ๋คํธ์ํฌ์์ ๋๊ท๋ชจ๋ก ์ด๋ ต๊ฒ ๋ค๋ฆฌ๊ณ ๋คํธ์ํฌ๊ฐ ์ฅ์ /๋ณต๊ตฌ ์์ง ์ผ์ด์ค ๋์ ์์ ์ค๋ณต์ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ด์ํ๊ธฐ ๋๋ฌธ์ ์ฐ๋ฆฌ๊ฐ IP๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ๊ณ ์ถ์ง ์๋ค๋ ๋ฐ ๋์ํฉ๋๋ค. ๊ทธ๋ฌ๋ ๋งค์ฐ ํฐ ์์ ์ ๊ฒฝ์ฐ์๋ ๊ฐ ์ค๋ ๊ตฌ์ฑ์์ ๊ณ ์ ํ ์๋น์ค ํฌํธ๋ฅผ ํ ๋นํ๊ณ ๊ฐ ํฌ๋ ์ธ์คํด์ค์ ํ๋ก์ ๋ฐ์ดํฐ๋ฅผ ํ ๋นํ๋ ๊ฒ์ด _๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค. (์ด ์ ์์ ํ๋ก์๊ฐ ์ฌ์ ํ ์ฐ๋ฆฌ๊ฐ k8s๋ก ๊ฐ๊ณ ์ ํ๋ ๋ฐฉํฅ์ด๋ผ๊ณ ๊ฐ์ ํ๋ ๊ฒ์ ๋๋ค - ์ด ์์ญ์ ๋ํ ์ต๊ทผ ๋ ผ์๋ฅผ ๋ฐ๋ผ๊ฐ์ง ๋ชปํ์ต๋๋ค)
ํธ์๋ ์๋น์ค๋ ์ปจํธ๋กค๋ฌ์ ๊ฐ์ ๋ค๋ฅธ ๋ฆฌ์์ค๊ฐ ๋ ์ด๋ธ ์ ํ๊ธฐ๋ฅผ ํตํด ํฌ๋ ์ธํธ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ "์ฌ๋ฌผ"(ํ์ธ ๊ฐ๋ฅํ DNS ์ด๋ฆ, VIP, PVC)์ ์ ๊ณตํ๋ค๋ ๊ฒ์ ์๋ฏธํ์ต๋๋ค.
pull์ ํฌ๋๊ฐ "์ฌ๋ฌผ" ํ ๋น์ ๋ช ์์ ์ผ๋ก ์์ฒญํ ๋ค์ /binding๊ณผ ๊ฐ์ ๊ฒ์ ํตํด ๋ฐ์ธ๋ฉ๋๋ค๋ ๊ฒ์ ์๋ฏธํ์ต๋๋ค.
์คํ ์ค์ธ ํฌ๋ ๋ณ๊ฒฝ ๊ด๋ จ: ์์ฑ ํ ํฌ๋๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ์ ์คํ ์ค์ธ ์ปจํ ์ด๋๊ฐ ์๋ ํฌ๋๋ฅผ ๋ณ๊ฒฝํ๋ ๊ฒ๊ณผ ๋ค๋ฆ ๋๋ค. ์ค์ผ์ค๋ฌ๋ ๋น๋๊ธฐ๋ฅผ ์ํํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ด๊ธฐํ. PodIP๋ ๋ฆ๊ฒ ํ ๋น๋ฉ๋๋ค. #3585์์ ๋ ์ผ๋ฐ์ ์ผ๋ก ๋ ผ์๋ฉ๋๋ค.
์ด๊ฒ์ด ์ ๋ง๋ก "์๋น์ค"์ธ์ง ์๋์ง์ ๊ดํ์ฌ:
์์ด๋์ด (1), ThingPools + Patches๋ ํฅ๋ฏธ๋ก์ด ์์ด๋์ด์ ๋๋ค. ๋๋ ๊ทธ๊ฒ์ "๋น๊ธฐ๊ธฐ" ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ค๋ช ํ ๊ฒ์ ๋๋ค. ThingPool์ด ๋์์ง๋ ์์ง๋ง Patches๊ฐ ์ฌ์ฉํ๊ธฐ ์ด๋ ค์ธ๊น๋ด ๊ฑฑ์ ๋๊ณ ์์คํ ๋ด๋ถ์ ํจ์น์์ ์๋ฏธ๋ก ์ ์ ๋ณด๋ฅผ ๋ฆฌ๋ฒ์ค ์์ง๋์ด๋งํ์ฌ ์คํ ๋ฆฌ์ง ์๋ช ์ฃผ๊ธฐ ๋ฑ์ ๋ํ ํ์ฉ ๊ฐ๋ฅํ ๋์์ ์ ๊ณตํ๊ณ ์ถ์ง ์์ต๋๋ค. I' d ๋ ๋๋ฉ์ธ ํน์ ์ ์ธ ๊ฒ์ ์ ํธํฉ๋๋ค. ๋ํ DNS ์ด๋ฆ๊ณผ PVC์ ๋ํ ๋ ๋ฆฝ์ ์ธ ThingPools๋ ํจ๊ป ํ ๋น๋์ด์ผ ํ๋ฏ๋ก ์๋ํ์ง ์์ต๋๋ค.
์์ด๋์ด (2)๋ฅผ "ํธ์" ์ ๊ทผ ๋ฐฉ์์ผ๋ก ์ค๋ช ํฉ๋๋ค. RC ๋ฐ ๋ฐฐํฌ ์์ ์ ๋ณต์ ํ๊ณ ์ถ์ง ์์ผ๋ฏ๋ก ๋ค๋ฅธ ํฌ๋ ์ปจํธ๋กค๋ฌ๋ฅผ ๋์ ํด์๋ ์ ๋ฉ๋๋ค. ํ ๋น์๋ ๊ด์ฐฎ์ง๋ง ํ์ ์ด์์ผ๋ก ๋์จํ๊ฒ ๊ฒฐํฉ๋์ด ํ ๋น์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ก์ ์ผ์นํ์ง ์์ต๋๋ค.
๋ต์ฅ. env vars์ ์ ๋ณด ์ฑ์ฐ๊ธฐ: ์ด๊ฒ์ Job์๋ ์ ์ฉ๋์์ต๋๋ค. ์ ๋ณด๋ฅผ ์ฃผ์์ ์ฑ์ฐ๊ณ ํน์ ์ฃผ์์ ์์ฒญํ ์ ์๋๋ก ํํฅ API๋ฅผ ํ์ฅํ๊ณ ์ถ์ต๋๋ค. ์ฌ์ฉ์๊ฐ ํ์ํ ์ ๋ณด๋ง ์์ฒญํ๊ณ ํ๊ฒฝ ๋ณ์ ์ด๋ฆ์ ์ ํํ ์ ์๋๋ก ๊ณ์ ํ์ฉํ๊ณ ์ถ์ต๋๋ค.
๋ต์ฅ. ๊ฐ ์ธ์คํด์ค์ ๋ค๋ฅธ ํฌํธ ํ ๋น: ๋ง์ ๋ ๊ฑฐ์ ์ฑ์์๋ ์๋ํ์ง ์์ผ๋ฉฐ ์์คํ ์ค๊ณ์๋ ํธํ๋์ง ์์ต๋๋ค.
๋ต์ฅ. ๊ท๋ฒ์ : N์ ๊ณ์ ์คํํ๋ ๊ฒ์ ReplicationController๊ฐ ํ๋ ์ผ์ ๋๋ค.
๋ต์ฅ. ์ค๋ช : ์ด๋ฏธ ์กด์ฌํ๋ ํค๋๋ฆฌ์ค ์๋น์ค์ ๋๋ค.
๋ต์ฅ. ์ ๊ธ: ์, ์งํ ์ค์ธ ์๋ API์ ๋๋ค.
์คํ ๋ฆฌ์ง ํ๋ก๋น์ ๋์ #6773(ํธ์) ๋ฐ #12450(ํ)์์ ๋ ผ์๋๊ณ ์์ต๋๋ค.
์ง๊ธ์ ๋๋ฌด ๋ฆ์์ง๋ง ์ด๋ป๊ฒ๋ ์๊ฐ์ ๋ด์ ์ข ์๊ณ ๋์ ํ๋ฌํฌ์ฆ๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค.
๋น ๋ฅธ ๊ด์ฐฐ: ํค๋๋ฆฌ์ค ์๋น์ค๋ VIP๋ฅผ ํ ๋นํ์ง ์์ต๋๋ค.
DNS ๊ฒ์์์ ํ ๋น/ํ ๋น์ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค. ์ ์ ๋์ ํ ๋น/ํ ๋น์ด ๋ฐ์ํ๋ ๋ฐฉ์์ ๋ฌด์ํ๊ณ ํธ์คํธ ์ด๋ฆ์ ๋ํ๋ด๋ ํฌ๋์ ์ผ๋ถ ํ๋์์ ์ด๋ฆ์ ๊ฐ์ ธ์ค๋ ํค๋๋ฆฌ์ค ์๋น์ค์ ํน๋ณํ ํน์ง์ ๊ฐ์ง ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ด๊ตฌ์ฑ ์๋ ๋ก์ปฌ ์คํ ๋ฆฌ์ง ๋ฌธ์ ๋ ๊ด๋ จ์ด ์์ต๋๋ค. #7562, #1515, #598
๋ด๊ฐ ์ฃผ๋ก ๋ค๋ฅธ PR ๋ฆฌ๋ทฐ๋ฅผ ์ํํ๋ฏ๋ก ๋ ๋น ๋ฅธ ์ ๋ฐ์ดํธ:
์๋น์ค ์ฌ์ฉ์ ํ ๊ฐ์ง ์ด์ ์ ์๋น์ค๊ฐ DNS์ ๊ฒ์๋ ์ด๋ฆ์ ๋ฒ์๋ฅผ ์ง์ ํ๊ธฐ ๋๋ฌธ์ ํฌ๋์ ๋ํด ์์ฒญ๋ ํธ์คํธ ์ด๋ฆ์ด ์ ์ญ์ ์ผ๋ก ๊ณ ์ ํ๋ค๊ณ ๋ณด์ฅํ ํ์๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค.
๋ต์ฅ. ํ ๋น/ํ ๋น: ReplicationController, Deployment, Daemon ๋ฑ์ ๋ ๋ง์ ํ ํ๋ฆฟ ์ ํ์ ์ถ๊ฐํ๋ ๊ฒ์ ํผํ๊ณ ์คํ ๋ฆฌ์ง ๋ฐ ์ด๋ฆ์ด ํฌ๋(์ฌ์ฉ์๊ฐ ์ํ๋ ๊ฒฝ์ฐ)๋งํผ ์ฝ๊ฒ ์ปจํธ๋กค๋ฌ ๊ฐ์ ๋ง์ด๊ทธ๋ ์ด์ ํ ์ ์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
2015๋ 8์ 19์ผ ์ค์ 1์ 4๋ถ์ Angus Lees [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
@smarterclayton https://github.com/smarterclayton
๋ช
๋ชฉ์์ ์๋น์ค ๋ฌธ์ ๊ฐ ์์ง๋ง ๋ถํธ์คํธ๋ฉํ๋ ๊ฒ์ ์์ ํ์ง ์์ต๋๋ค.
์ค๋ช
. "1"์ด ์ ์ปดํจํฐ์์ ๋ค์ ์์๋๊ณ ์ํํ ์ ์๋ ๊ฒฝ์ฐ
๊ธฐ์กด ๋
ธ๋์ ๋๋ฌํ๋ฉด ๋ค์ ๋ถํธ์คํธ๋ฉ๋๋ฉฐ ์ด์ ๋ ๊ฐ์ ๋
ธ๋๊ฐ ์์ต๋๋ค.
mongodb๊ฐ ๊ถ์์ ์ด๋ผ๊ณ ์ฃผ์ฅํฉ๋๋ค. ์ง์
์ ๋ฐ๊ฟ์ผ ํ๋ค
๋ถํธ์คํธ๋ฉ ํ ๋ถํธ์คํธ๋ฉ ๊ธฐ๋ฅ์ ์ ๊ฑฐํ๋ ์ ์๋
์๋ฒฝํ.
์ด ๊ฒฝ์ฐ ๊ฒน์น ๊ฐ๋ฅ์ฑ์ด ์์ง๋ง ๋๋ถ๋ถ์ ๊ฒฝ์ฐ
์ ๊ธ์ด ์๋ ์๊ตฌ ์ ์ฅ์์ ๋ํด ์ด์ผ๊ธฐํ๋ ๊ฒฝ์ฐ ์ฐจ๋จํ ์ ์์ต๋๋ค.
์ด์จ๋ gce/AWS๊ฐ ์ธํ๋ฆฌ๋ฅผ ํด์ ํ๊ณ ์ฐ๊ฒฐํ ์ ์์ ๋๊น์ง. ๊ทธ๋์
๋ถํธ์คํธ๋ํ ์ ๊ฐ์ฉ์ฑ์ ํฌ์ํ์ง๋ง ๋ฐํ์ ์์๋ ๋ฐ๋์ ๊ทธ๋ ์ง๋ ์์ต๋๋ค.
(๋น์ ์ด ์ธํ๋ฆฌ๊ฐ ์๋ ์คํ ๋ฆฌ์ง์ ์์ง ์๋ ํ ๋๋ ์ด๊ฒ์ด ๊ทธ๋ ์ง ์์ ๊ฒ์ด๋ผ๋ ๋ฐ ๋์ํฉ๋๋ค.
์์ ํ)
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -132448150
.
2015๋ 8์ 19์ผ ์ค์ 1์ 35๋ถ์ Angus Lees [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
@thockin https://github.com/thockin ์ด ์์ํ๋ ๊ฒ์ฒ๋ผ ์ ์๊ฐ์๋
์ฌ๊ธฐ์ ์ ์ฌํ์ง๋ง ๋ค๋ฅธ ๋ช ๊ฐ์ง ๊ธฐ๋ฅ์ ๋ถํ์ํ๊ฒ ํตํฉํ๊ณ ์์ต๋๋ค.
์์์ ์ค๋ช
ํ ๋ ๊ฐ์ง ๋งค์ฐ ๋ค๋ฅธ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์์ต๋๋ค. ์์ค์ ๋ฐ๋ผ ๋ค๋ฆ
์ง์ค์:
_Prescriptive:_ "N๊ฐ์ ์ค๋๋ฅผ ์คํํ๊ณ ์ถ์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ๋ณ๊ฒฝํ์ฌ N์ผ๋ก ๋๋๋ฆฌ์ญ์์ค."
_Descriptive:_ "์ฌ์ฉ ๊ฐ๋ฅํ ๋ชจ๋ ์ค๋๋ฅผ ์๋ ๊ฒ์ํ๊ณ
๊ทธ๋ค์ด ์ค๊ณ ๊ฐ๋ ๋์ ์ด๋ป๊ฒ๋ ๋ด๊ฐ ์์๋ด๊ฒ ํด์ค."
๋๋ ์ด๊ฒ๋ค์ด ๋ค๋ฅด๊ณ ๋ค๋ฅด๊ฒ ์ค๋ช ๋์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค(๋น๋ก
ํ ๋ก ์๋ ๋ฆฌ์์ค ํ์ฑ ๋ฐ ๋จ์ผ ์ก์ธ์ค๋ ํตํฉ๋์์ต๋๋ค.
๋ณด์ฅ. Afaics, ์ด๊ฒ์ด k8s ๋ด์์ ์ํ๋์ด์ผ ํ๋ _only_ ๊ฒฝ์ฐ
(afaics)๊ฐ ์๊ฒฉ ๋ณผ๋ฅจ์ ๋ง์ดํธํ๊ณ ์์ต๋๋ค - fs ๋ง์ดํธ๋ฅผ ์ํํด์ผ ํ๊ธฐ ๋๋ฌธ์
์ปจํ
์ด๋ ์ธ๋ถ. ๋ค๋ฅธ ๋ชจ๋ ๊ฒฝ์ฐ๋ ์ฌ์ฉ์ ์์
์์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
๋ถ์ฐ ์ ๊ธ ์๋น์ค๋ฅผ ์ฌ์ฉํ์ฌ(๋๋
๋ด๋ถ์ ์ผ๋ก ์ ๊ธ ์ ๊ณต). ์์
์ด ์์ฒด ์ ๊ธ์ ์ํํ๋๋ก ์์ฒญ
๋ชจ๋ ์ข
๋ฅ์ ํจํด(๊ณ ์ ํ ๋น, ๊ธฐํ ์ฃผ์์ ํ ๋น, "ํซ
์คํ์ด" ๋ฑ) ๋ฐ ๋๋ฌ ๋ถ๊ฐ๋ฅ/๋ณต๊ตฌ ์ ๋ต(ํ๋ ํ์ผ,
๋ง์ง๋ง์ผ๋ก ์๋ ค์ง ๋๋ก ๊ณ์ ๋ฑ).
์ผ๋ฐ ๋ฆฌ์์ค ํ์ฑ ๊ธฐ๋ฅ ์์ฒญ์ ์ฌ๊ธฐ์์ ์ฎ๊ธฐ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ฒ๊ทธ (๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ๋จ์ํ ์คํ ๋ ์ํผ๋ฅผ ์ ๊ณตํ์ฌ ํ์ฑ์ ๊ตฌํํฉ๋๋ค.
๋ ์ด์์ ๊ฐ์
์์ด k8์ ๋ํ ๋ค์ํ ๋ถ์ฐ ์ ๊ธ ์๋น์ค
k8s ์์ฒด).
ํน์ ์ ํ์ ์คํ์ ์ํด ๋ชฉํ๋ฅผ ๋ถ๋ฆฌํ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
์ํํธ์จ์ด ์ถ๋ ฅ - ์ค๊ณ์๋ ๋ช
๋ชฉ์์ ์๋น์ค๊ฐ ํ์๋์ด ์์ง๋ง ์ฌ์ฉ ์ฌ๋ก๋
์ค๋ช
์ ID์ ๋์คํฌ๋ฅผ ์ฌ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋์ํฉ๋๋ค. ํ์ฑ์
๋ณผ๋ฅจ - ํ์ง๋ง ๋ณผ๋ฅจ ํ๋์ ํน์ ์์ฐ์ ์ฐ๊ฒฐ
ํฌ๋ ์ธ์คํด์ค๋ ๊ทธ๋ ์ง ์์ต๋๋ค.
์๋ฆผ: ๋จ์ผ VIP ๋ค์ _๋ง์_ ํฌํธ๊ฐ ์์ต๋๋ค. ๋์ํฉ๋๋ค
๊ธฐ๋ณธ ๋คํธ์ํฌ์์ ์ด๋ ต๊ฒ ๋ค๋ฆฌ๋ฏ๋ก IP๋ฅผ ๋ง์ด๊ทธ๋ ์ด์
ํ๊ณ ์ถ์ง ์์ต๋๋ค.
๊ท๋ชจ๊ฐ ํฌ๊ณ ๋คํธ์ํฌ๊ฐ ์์ ๋ณต์ ๋ณธ์ ์ฒ๋ฆฌํ๋ ๋ฐ ์ด์ํจ
์ฅ์ /๋ณต๊ตฌ ์์ง ์ผ์ด์ค ๋์. ๊ทธ๋ฌ๋ ๋๋ ๊ทธ๊ฒ์ด _๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ฐ ์ค๋ ๊ตฌ์ฑ์์ ๊ณ ์ ํ ์๋น์ค ํฌํธ๋ฅผ ํ ๋นํ๊ณ ๊ฐ ์ค๋ ๊ตฌ์ฑ์์ ํ๋ก์ ๋ฐ์ดํฐ๋ฅผ ํ ๋นํฉ๋๋ค.
ํฌ๋ ์ธ์คํด์ค - ๋งค์ฐ ํฐ ์์
์ ๊ฒฝ์ฐ์๋ ๋ง์ฐฌ๊ฐ์ง์
๋๋ค. (์ด ์ ์์
ํ๋ก์๋ ์ฌ์ ํ ์ฐ๋ฆฌ๊ฐ k8s๋ก ๊ฐ๊ณ ์ ํ๋ ๋ฐฉํฅ์
๋๋ค.
์ด ์์ญ์ ๋ํ ์ต๊ทผ ๋
ผ์์ ํจ๊ป)
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -132451774
.
@thockin ์ ThingPool + Patches ์์ด๋์ด๋ฅผ ์ฝ๊ฐ ๋ณํ:
ํ ํ๋ฆฟ: ๋ฆฌ์์ค ๋ชฉ๋ก + ๋งค๊ฐ๋ณ์ ๋ฐ ๋์ฒด. ์๊ฐ์ ์ป์ผ๋ ค๋ฉด https://github.com/openshift/origin/blob/master/pkg/template/api/types.go ๋ฅผ ์ฐธ์กฐ
ํ ํ๋ฆฟ ํ. ๊ธฐ๋ณธ์ ์ผ๋ก ThingPool. ๋ณต์ ๋ณธ ์ ๋์ ์จ๋๋งจ๋๋ก ํ ํ๋ฆฌํธ์ ์กฐ๋ฐํ๊ฒ ์ธ๋ฑ์ฑ๋ ์ธ์คํด์ค๋ฅผ ์์ฑํฉ๋๋ค.
์ฌ๋ฏธ/์ผ๊ด์ฑ์ ์ํด: v2 ReplicationController๋ ํฌ๋ ๋์ ์์์ ํ ํ๋ฆฟ์ ๋ณต์ ํ ์ ์์ต๋๋ค. ์ฐธ์กฐ #170(์ผ์ข ์). ๋ชจ๋ ํ ๋น์ด ํฌ๋ ๋ณต์ ์ ์ํด ๊ตฌ๋๋๋ ๊ฒฝ์ฐ ํ์ํ์ง ์์ ์ ์์ต๋๋ค.
์ฃผ์ ๋์์ ํธ์คํธ ์ด๋ฆ ๋ฐ PVC ํ์ ์ค์ ์ ๋ ๋ณด๋ค ๋๋ฉ์ธ ํน์ ์ ์ด์ง๋ง ๊ฐ๊ฐ์ ๋ํ ๋ณ๋์ ํ์ ์๋ํ์ง ์์ต๋๋ค. ๋จ์ผ ํ์ ํธ์คํธ ์ด๋ฆ์ ํํ๊ณผ (์ฌ๋ฌ ๊ฐ์ ์ ์ฌ์ ์ธ) PVC๋ฅผ ํ ๋นํ ์ ์์ด์ผ ํฉ๋๋ค. TemplatePool์ ํ ๊ฐ์ง ์ฅ์ ์ ๋๊ตฐ๊ฐ๊ฐ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์ ๋ณธ๋น ํ๋์ ์๋น์ค(์ธ๋ถ)๋ฅผ ํ ๋นํ์ฌ ํ์ฌ Zookeeper ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์๋ํํ ์ ์๋ค๋ ๊ฒ์ ๋๋ค. ๋๊ตฐ๊ฐ๊ฐ ํฌ๋์ 1:1 ์ ์ฌํ๊ฒ ๋ณต์ ํ๊ณ ์ถ์ดํ๋ ๋ค๋ฅธ ๋ฆฌ์์ค๊ฐ ์์์ง ๋ชจ๋ฅด์ง๋ง API๊ฐ ์ฑ์ฅํ๋ ์๋๋ฅผ ๊ฐ์ํ ๋ ์์ ๊ฒ์ด๋ผ๊ณ ์ฅ๋ดํฉ๋๋ค.
@smarterclayton ์ฐธ๊ณ ๋ก ์ด๋ฉ์ผ์ ํตํด ์ธ๋ผ์ธ ๋๊ธ๋ก ๋ต์ฅํ๋ฉด gmail๊ณผ github์์ ์๋ต์ ์ฝ์ ์ ์์ต๋๋ค. Gmail์๋ ์ค ๋ฐ๊ฟ์ด ์๊ณ github์๋ ์ธ์ฉ ์ ๋์ฌ๊ฐ ์์ผ๋ฏ๋ก ์ธ์ฉ๋ ํ ์คํธ์ ๋ณ๋๋ก ์๋ต์ ๋๋ฆฌ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค.
์, Gmail + github + iPhone์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
2015๋
8์ 20์ผ ๋ชฉ์์ผ ์คํ 2์ 24๋ถ, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:
@smarterclayton https://github.com/smarterclayton ์ฐธ๊ณ ๋ก ๋ต์ฅํ ๋
์ธ๋ผ์ธ ๋๊ธ์ด ํฌํจ๋ ์ด๋ฉ์ผ์ ํตํด ์๋ต์ ์ฝ์ ์ ์์ต๋๋ค.
gmail ๋ฐ github์์. Gmail์๋ ์ค ๋ฐ๊ฟ์ด ์๊ณ github์๋
์ธ์ฉ ์ ๋์ฌ๊ฐ ์์ผ๋ฏ๋ก ๊ทํ์ ์๋ต์
์ธ์ฉ๋๋ ํ ์คํธ.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -133108803
.
ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
์ฐ๋ฆฌ๋ ์ค๋ ๊ฐ๋จํ ์ฑํ ์ ํ์ต๋๋ค. ๋ช ๊ฐ์ง ์ฃผ์ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ฑ์ ์ธ ๊ฐ์ง ํด๋์ค์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค.
์ค๋์ N์ ๊ฐ์ง์ผ๋ก์จ ๊ณ ์ ํ ์์ด๋ดํฐํฐ์ ์๊ตฌ ๋ณผ๋ฅจ์ ํด๊ฒฐํ ์ ์์ต๋๋ค.
๋ณต์ ์ปจํธ๋กค๋ฌ, N ์๋น์ค๊ฐ ์๋ ์์ ์ ์ธ IP ์ฃผ์. ์ฐ๋ฆฌ๋ ์ํ๋ค
์ด๋ฌํ ์ฌ์ฉ ์ฌ๋ก ์ค ์ผ๋ถ์ ๋ํด N๊ฐ์ RC ๋ฐ ์๋น์ค๊ฐ ํ์ํ์ง ์์ต๋๋ค.
์ฐ๋ฆฌ๋ ํน์ ํ ์์ ์์ด Tim๊ณผ Brian์ ์ ์์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค.
2015๋
8์ 20์ผ ๋ชฉ์์ผ ์คํ 3์ 34๋ถ, Clayton Coleman [email protected]
์ผ๋ค:
์, Gmail + github + iPhone์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค.
2015๋ 8์ 20์ผ ๋ชฉ์์ผ ์คํ 2์ 24๋ถ, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:@smarterclayton https://github.com/smarterclayton ์ฐธ๊ณ ๋ก ๋ต์ฅํ ๋
์ธ๋ผ์ธ ๋๊ธ์ด ํฌํจ๋ ์ด๋ฉ์ผ์ ํตํด ์๋ต์ ์ฝ์ ์ ์์ต๋๋ค.
gmail ๋ฐ github์์. Gmail์๋ ์ค ๋ฐ๊ฟ์ด ์๊ณ github์๋
์ธ์ฉ ์ ๋์ฌ๊ฐ ์์ผ๋ฏ๋ก ๊ทํ์ ์๋ต์
์ธ์ฉ๋๋ ํ ์คํธ.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -133108803
.ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
๋ ๋ค๋ฅธ ๋ฌธ์ : ๋ช ๋ชฉ ์๋น์ค ํ์์ ์ํ TLS ์ธ์ฆ์
์ผ๋ฐ์ ์ผ๋ก ์๋น์ค์ ๋ํ TLS ์ธ์ฆ์๋ ์ข์ ๊ฒ์
๋๋ค(์๋ช
๋
์์ฒญ ์ ํด๋ฌ์คํฐ CA์์ ์๋์ผ๋ก ์ ๊ณต).
2015๋ 8์ 20์ผ ๋ชฉ์์ผ ์คํ 5์ 19๋ถ์ Brian Grant [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๋ ๋ค๋ฅธ ๋ฌธ์ : ๋ช ๋ชฉ ์๋น์ค ํ์์ ์ํ TLS ์ธ์ฆ์
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
์: #11725
๋ต์ฅ:
์ปจํ ์ด๋์ ํ์๋๋ ํธ์คํธ ์ด๋ฆ์ ๋ค๋ฅธ ์ปจํ ์ด๋์์ ํ์ธํ ์ ์๋๋ก ํฌ๋ ์ฌ์์ ์ค์ ๋ ํธ์คํธ ์ด๋ฆ(ํด๋น ๊ธฐ๋ฅ์ ์ถ๊ฐํ๋ฉด ํด๋น ID๋ก ๋งค๊ฐ๋ณ์ํ๋ ์ ์์)์ ์ฌ์ฉํ์ฌ dns๋ฅผ ์ง์ํด์ผ ํ๋ค๋ ๋ฐ ๋์ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
ํ์ ๋๋ฉ์ธ์ ์ค์ ํ๋ ค๋ฉด ๋ช ์์ ์ด๋ ์์์ ์ด๋ ์ด๋ค ์๋น์ค๊ฐ ํ์ ๋๋ฉ์ธ์ ๋์์ผ๋ก ์ผ์๋์ง ํฌ๋์ ์๋ ค์ผ ํฉ๋๋ค. ๋ช ์์ ์ ๋จ์ ์ ๋ ๋ง์ ๊ตฌ์ฑ ๊ธ๋ฃจ/ํ ํ๋ฆฟ์ด ํ์ํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ฌต์์ ๋ฐฉ๋ฒ์ ๋จ์ ์ ์์คํ ์ ๋์จํ ๊ฒฐํฉ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ๋ฌธ์ (์์ฑ ์์ ๊ฒฝ์ ๋ฐ ๋ถ์ผ์น, 1:1 ์ํ ์ด๋ ค์ ๋ฑ)๊ฐ ๋ฐ์ํ๊ธฐ ์ฝ๋ค๋ ๊ฒ์ ๋๋ค. ์ ๋ ๋ช ์์ ๋ฐฉ์์ ์ ํธํฉ๋๋ค. ์ฐ๋ฆฌ๋ ์ํธ ์ฐธ์กฐ ๋ฒ์๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ๋ ธ๋ ฅํด์ผ ํฉ๋๋ค.
๋ค์๊ณผ ๊ฐ์ ๊ฒ:
Hostname string
Subdomain string
PodSpec์ HostNetwork ์์ ์์ต๋๋ค.
ํ์ ๋๋ฉ์ธ์ด ์ฌ๋ฐ๋ฅธ ์ ํ์ ์๋น์ค์ ์ผ์นํ๋ ๊ฒฝ์ฐ์๋ง ํธ์คํธ ์ด๋ฆ ๊ธฐ๋ฐ DNS๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฐ๋ฆฌ๋ ๋ํ ๋ ๊ฐ๋ฅผ ๋จ์ผ ํ๋๋ก ์ค๋ฌด๋ฉํ ์ ์์ต๋๋ค.
์ ์๊ฐ์๋ ๋ฌธ์ #4825๋ฅผ ๋ค์ ์ฌ์ฉํ๊ณ ๋๊ตฐ๊ฐ๊ฐ ์์ ์ ํ๋๋ก ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ค๋ฅธ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ๊ตฌ์ฒด์ ์ด๊ณ ๋ ์ผํฉ๋๋ค.
์ด๋ป๊ฒ๋ ์๊ตฌ ๋ณผ๋ฅจ ํด๋ ์์ ๋งค๊ฐ๋ณ์ํํ๊ฑฐ๋ ๋ค์์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
ํ์์ ๊ฐ์ ธ์ค๊ธฐ(๋๋ ํ ์ปจํธ๋กค๋ฌ๊ฐ ๊ฐ ๋น ํ๋์ ๋ณผ๋ฅจ์ด ์๋์ง ํ์ธ
ID ๋๋ ID ์ปจํธ๋กค๋ฌ๊ฐ ํ์์ ๊ฐ์ ธ์ค๋๋ก ํจ), ์๊ฐ์ด ํ์ํฉ๋๋ค.
์ฌ๊ธฐ์์ ๋์์ด ๋ ์ ์๋ ์ฒญ๊ตฌ์ ๋ํ ๋ ๊ฐ์ง ์ฌํญ:
RC๋ ํ์์ ๋ฐ๋ผ ์ ๋ณผ๋ฅจ์ ๋ฐ์ธ๋ฉํ ์ ์์ต๋๋ค. ๋ฐ์ธ๋์์ ์ด๊ฒ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ผ ๊ฒ์ ๋๋ค.
์ฌ๋ฐ๋ฅธ ๋ณผ๋ฅจ์ ์ฌ๋ฐ๋ฅธ ํฌ๋์ ๋ง์ถ๋ ๊ฒ์ ์ฌ์ ํ โโ์ค์ํฉ๋๋ค.
๋ณผ๋ฅจ ์ด๋ฆ์ ๋ํ ID ๋งต์ด ์์ด์ผ ํฉ๋๋ค.
2015๋
8์ 21์ผ ๊ธ์์ผ ์คํ 3์ 17๋ถ, Mark Turansky [email protected]
์ผ๋ค:
์ด๋ป๊ฒ๋ ์๊ตฌ ๋ณผ๋ฅจ ํด๋ ์์ ๋งค๊ฐ๋ณ์ํํ๊ฑฐ๋ ๋ค์์ผ๋ก ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
ํ์์ ๊ฐ์ ธ์ค๊ธฐ(๋๋ ํ ์ปจํธ๋กค๋ฌ๊ฐ ๊ฐ ๋น ํ๋์ ๋ณผ๋ฅจ์ด ์๋์ง ํ์ธ
ID ๋๋ ID ์ปจํธ๋กค๋ฌ๊ฐ ํ์์ ๊ฐ์ ธ์ค๋๋ก ํจ), ์๊ฐ์ด ํ์ํฉ๋๋ค.์ฌ๊ธฐ์์ ๋์์ด ๋ ์ ์๋ ์ฒญ๊ตฌ์ ๋ํ ๋ ๊ฐ์ง ์ฌํญ:
- ๋ฐ์ธ๋ฉ์ 1:1์์ 1:N์ผ๋ก ๋ณ๊ฒฝ
- pvc.Spec.VolumeName์ pvc.Spec.VolumeNames[]์ ๋ฐ์ธ๋ฉ์ผ๋ก
์ฐธ์กฐ- ํด๋ ์์ด ๋ฐ์ธ๋ฉ๋์ด์ผ ํ๋์ง ์ฌ๋ถ๋ฅผ ๋ํ๋ด๋ pvc.Spec.Singelton ๋ถ์ธ
๊ณต์ ๋ฅผ ์ํด ์ ํํ ํ ๋ฒ ๋๋ ์ฒญ๊ตฌ๊ฐ ์ฌ๋ฌ ๋ฒ ๋ฐ์ธ๋ฉ๋๋๋ก ํ์ฉํฉ๋๋ค.RC๋ ํ์์ ๋ฐ๋ผ ์ ๋ณผ๋ฅจ์ ๋ฐ์ธ๋ฉํ ์ ์์ต๋๋ค. ๋๋ ์ด๊ฒ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์์๋ผ ๊ฒ์ด๋ค
๋ฐ์ธ๋์.์ฌ๋ฐ๋ฅธ ๋ณผ๋ฅจ์ ์ฌ๋ฐ๋ฅธ ํฌ๋์ ๋ง์ถ๋ ๊ฒ์ ์ฌ์ ํ โโ์ค์ํฉ๋๋ค.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -133535336
.
ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
2015๋ 8์ 21์ผ ๊ธ์์ผ ์ค์ 12์ 56๋ถ์ Brian Grant [email protected]์ด ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
ํ์ ๋๋ฉ์ธ์ ์ค์ ํ๋ ค๋ฉด ์ด๋ค ์๋น์ค๊ฐ ๋์์ผ๋ก ์ผ์๋์ง ํฌ๋์ ์๋ ค์ผ ํฉ๋๋ค.
๋ช ์์ ์ผ๋ก ๋๋ ์์์ ์ผ๋ก. ๋ช ์์ ์ ๋จ์ ์ ๋ ๋ง์ ๊ฒ์ ํ์๋ก ํ๋ค๋ ๊ฒ์ ๋๋ค.
๊ตฌ์ฑ ์ ์ฐฉ์ / ํ ํ๋ฆฟ. ์์์ ์ ๋จ์ ์
์์คํ ์์ ๋์จํ ๊ฒฐํฉ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ๋ฌธ์ ์ ์ทจ์ฝํฉ๋๋ค.
์ฃผ๋ฌธ ์ธ์ข ๋ฐ ๋ถ์ผ์น, 1:1 ์งํ ์ด๋ ค์ ๋ฑ
๋ช ์์ ์ธ ์ชฝ์ผ๋ก. ์ฐ๋ฆฌ๋ ์ํธ ์ฐธ์กฐ ๋ฒ์๋ฅผ ๊ฐ์ ํ๊ธฐ ์ํด ๋ ธ๋ ฅํด์ผ ํฉ๋๋ค.
๋ถ๋ช
ํ ํฉ์๋ค. ํ์ ๋๋ฉ์ธ์ ์ค์ ํ์ง ์์ผ๋ฉด ์ฌ์ฉ์๊ฐ ์ ๊ณตํ ์ ์์ต๋๋ค.
์์ ์ ํธ์คํธ ์ด๋ฆ. ํ์ ๋๋ฉ์ธ์ ์ค์ ํ๋ ๊ฒฝ์ฐ
๊ณ ์ ํ ๋ฐฉ๋ฒ(DNS ๊ณต๊ฐ์์ ํ์ฌ
๋ค์์คํ์ด์ค). ํ์ ๋๋ฉ์ธ์ ์๋น์ค ์ด๋ฆ์ผ๋ก ๋ง๋๋ ๊ฒ์
์ถฉ๋ถํ ๋
ํนํ๋ค.
DNS(๋จ์ผ TLD)์ ๋ช ๊ฐ์ง ์ ํ ์ฌํญ์ ๊ฐ์ํ ๋ ์ด๊ฒ์
ํ์ค์ ์ผ๋ก๋ ์ฌ์ฉ์์๊ฒ ๋ ๊ฐ์ DNS_LABEL ํ๋(ํธ์คํธ ์ด๋ฆ)๋ฅผ ์ ๊ณตํ๋ค๋ ์๋ฏธ์
๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ช
๋ชฉ์ ์ธํธ. ๊ตฌ์ฒด์ ์ธ ์:
pod.spec.metadata.name: my-pod-1bd3
pod.spec.metadata.namespace: my-app
pod.spec.identity.name: foo
pod.spec.identity.surname: bar
๊ทธ๋ฌ๋ฉด ํฌ๋์ ๋ค์์ด ํ์๋ฉ๋๋ค.
$ hostname
foo
$hostname -f
foo.bar.my-app.nom.cluster.local
foo.bar.my-app.nom.cluster.local
๋ํ A ๋ฐ PTR ๋ ์ฝ๋๋ฅผ ์ ๊ณตํ๋ DNS
์ด๊ฒ์ ํ์ฌ DNS ๊ตฌ์กฐ๋ณด๋ค ํ ๋จ๊ณ ๋ ๊น์ง๋ง ์ ์๊ฐ์๋
์ฐ๋ฆฌ์ ํ์ฌ ndots=5๋ ์ด๊ฒ์ ๋ค๋ฃน๋๋ค. ๋๋ ๋ค์๊ณผ ๊ฐ์ด ๋งํ ์ ์์ต๋๋ค.
๋ค์์คํ์ด์ค๋ ์ฑ์ด๋ฉฐ ์ฌ์ฉ์๊ฐ ๊ณ ์ ํ ์ด๋ฆ์ ํ ๋นํ๋๋ก ๋ค์ ์ง์ ํฉ๋๋ค.
๋ค์์คํ์ด์ค์ ํธ์คํธ ์ด๋ฆ. DNS ๊ฒฐ๊ณผ๋
foo.my-app.pod.cluster.local
์๋น์ค๋ฅผ ๋ฏธ๋ฌ๋งํฉ๋๋ค. ์ฐ๋ฆฌ๋ ํ ์ ์์๋ค
์๋น์ค์ ์ ํ์ ํธ์คํธ ์ด๋ฆ ํ๋๋ฅผ ์ถ๊ฐํ์ฌ ๋ ๋น์ทํ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
ํ์ ๋๋ฉ์ธ์ด ๋ค์๊ณผ ์ผ์นํ๋ ๊ฒฝ์ฐ์๋ง ํธ์คํธ ์ด๋ฆ ๊ธฐ๋ฐ DNS๋ฅผ ์ ๊ณตํฉ๋๋ค.
์ฌ๋ฐ๋ฅธ ์ ํ์ ์๋น์ค. ์ฐ๋ฆฌ๋ ๋ํ ๋ ๊ฐ๋ฅผ ๋จ์ผ ํ๋๋ก ์ค๋ฌด๋ฉํ ์ ์์ต๋๋ค.
์ด ์ค ๊ฐ์ฅ ๋ง์์ ๋ค์ง ์๋ ๋ถ๋ถ์ Pod๊ฐ "๋๋ ์ผ๋ถ์
๋๋ค.
of Service 'bar'"(์์ ์์์). ์. ์ ํ์ .
๋ฏธ๋๋ฌ์ด ๊ฒฝ์ฌ๋ฉด์ด ์ผ๋ฐ์ ์ผ๋ก ํ์ฉ๋์ง ์๋ ์ด์ ๋ ๋ฌด์์
๋๊น? ๊ทธ๊ฒ์ ๊ฒ
์ค๋๋ ๊ฐ์ ํ ์ ์๋ ๋ง์ ๊ฒ๋ค์ ๋จ์ํํฉ๋๋ค(์๋ํ๋ฉด
๋์จํ ๊ฒฐํฉ) ์ค์ ๋ก๋ ๋จ์ผ Pod๋ฅผ ๊ฑฐ์ ๋ณผ ์ ์์ง๋ง
๋ ์ด์์ ์๋น์ค ๋ค์ ์์ต๋๋ค. ๋ชจ๋ Pod๊ฐ 0 ๋๋ 1 ๋ฏธ๋ง์ธ ๊ฒฝ์ฐ
์๋น์ค, โโ์์คํ
์ด ๋จ์ํด ์ก์ต๋๊น?
์ ์๊ฐ์๋ ๋ฌธ์ #4825๋ฅผ ๋ค์ ์ฌ์ฉํ๊ณ ๋๊ตฐ๊ฐ๊ฐ ์์ ์ ํ๋๋ก ํด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ค๋ฅธ ๊ฒ๋ณด๋ค ํจ์ฌ ๋ ๊ตฌ์ฒด์ ์ด๊ณ ๋ ์ผํฉ๋๋ค.
๊ทธ๊ฒ์ ํ์คํ ๋ฐ๋ก ์์ํ ์ ์๋ ์ผ์ด์ง๋ง (๊ทธ๋ค์๊ฒ๋
์ง์์ ๋ฐ๋ผํ๊ธฐ) ํฌ๋๋ฅผ ๊ตฌํํ๊ธฐ ์ํ ๋ฉ์ปค๋์ฆ์ผ ๋ฟ์
๋๋ค.
ID ์งํฉ์ ๊ด๋ฆฌํ๋ ์ ์ฑ
์ด ์๋๋ผ ID์
๋๋ค.
2015๋ 8์ 21์ผ ๊ธ์์ผ ์คํ 3์ 17๋ถ์ Mark Turansky [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
์ฌ๊ธฐ์์ ๋์์ด ๋ ์ ์๋ ์ฒญ๊ตฌ์ ๋ํ ๋ ๊ฐ์ง ์ฌํญ:
- ๋ฐ์ธ๋ฉ์ 1:1์์ 1:N์ผ๋ก ๋ณ๊ฒฝ
์ฌ๊ธฐ์์ ์์ํ์ง๋ง...
2015๋
8์ 21์ผ ๊ธ์์ผ ์คํ 12์ 38๋ถ, Clayton Coleman
[email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
๋ณผ๋ฅจ ์ด๋ฆ์ ๋ํ ID ๋งต์ด ์์ด์ผ ํฉ๋๋ค.
๋ค. ์ด๊ฒ์ ์ค์ ๋ก ํ
ํ๋ฆฟ ๋ฌธ์ ๋ก ํ๋ช
๋์์ต๋๋ค.
๋ฌธ์ ๋ฅผ ์ผ๋ถ๊ฐ ํฌํจ๋ "ํฌ๋ ํ
ํ๋ฆฟ"์ผ๋ก ์๊ฐํ๋์ง ์ฌ๋ถ
ํ๋์๋ "๋์ฒด ํํ"๋ก ์ฑ์์ง ์๋ฆฌ ํ์์๊ฐ ์์ต๋๋ค.
๋ฐํ์์ ํ์์ ๊ฐ์ ธ์ค๊ฑฐ๋ ์์ ํ ๊ตฌ์ฒดํ๋ ํฌ๋๋ก ์๊ฐํ๋ ๊ฒฝ์ฐ
ํ์์ ๊ฐ์ ธ์จ "๋์ฒด ํํ"๋ก "ํจ์น๋" ์ฌ์
๋ฐํ์ ์ - ๋ํ์ด๋ฉฐ ๋๊ฐ์ด ๋ถ์พํฉ๋๋ค.
๊ทธ๋ฌ๋ ์ด๊ฒ์ด ์ฐ๋ฆฌ๊ฐ ํด๊ฒฐํด์ผ ํ ๋ ํฐ ๋ฌธ์ ์ค ํ๋๋ผ๊ณ ์๊ฐํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๊ฒ๋ค์ ์ํ ๋ฐ์ง๋งจ ์ ์์ ์์ํด์ผ ํฉ๋๊น?
2๊ฐ ๋๋ 3๊ฐ์ ์๋น์ค ์๋์ ์๋ ํฌ๋์ ๋ช ๊ฐ์ง ์๊ฐ ์์ต๋๋ค.
ํ๋๋ ๋
ธ์ถ์ฉ์ด๊ณ ํ๋๋ ๋
ธ์ถ ํ
์คํธ์ฉ์
๋๋ค.
ID์ ๊ด๋ จํ์ฌ ๋ฐ๋ชฌ ์ปจํธ๋กค๋ฌ์ ์ํด ์์ฑ๋ ๊ฐ ํฌ๋์๋ ๋ ธ๋ ID ๋ฐ ์ปจํธ๋กค๋ฌ ID์์ ํ์๋ ID๊ฐ ํ ๋น๋์ด์ผ ํฉ๋๋ค. ์ด๊ฒ์ ID๊ฐ ๋ช ๋ฐฑํ๊ณ (ํธ์คํธ y์ ํฌ๋ x๊ฐ ID f(y)๋ฅผ ๊ฐ์ง) ๋ฐ๋ชฌ ์ฑ ์์ ์ผ๋ถ์ธ ๊ฒฝ์ฐ์ผ ์ ์์ต๋๋ค.
@smarterclayton ๋ฐ๋ผ์ ์ฌ๊ธฐ์์ ๊ณตํต์ (๋ณดํธ์ ์ด์ง๋ ์์) ์๊ตฌ๋ ์์ ์ ์ด๊ณ ์ ๋ ฌ๋ ๊ทธ๋ฃน ๊ตฌ์ฑ์ ๋ชฉ๋ก์ ์ ์งํ๋ ๊ฒ์ ๋๋ค. ID๊ฐ ํฌ๋๊ฐ ์์ฝ๋ ๋ ธ๋์ ์ฐ๊ฒฐ๋์ด ์์ผ๋ฉด ์ด๋ป๊ฒ ์๋ํ ๊น์?
๋ฐ๋ชฌ ์ปจํธ๋กค๋ฌ _only_๋ ํฌ๋๊ฐ ์๋ ๋
ธ๋ ์ปจํ
์คํธ์์ ID๋ฅผ ๊ฐ์ง๋๋ค.
๊ณ์๋๋ค. ๋ณต์ ์ปจํธ๋กค๋ฌ์ ์๋น์ค๋ ๋ค๋ฆ
๋๋ค. ์
๋ง
์ปจํธ๋กค๋ฌ๋ "๊ฐ ๋
ธ๋์์ ์ด๋ค ์ค ํ๋๊ฐ ์คํ ์ค์ด์ด์ผ ํฉ๋๋ค"๋ผ๊ณ ๋งํฉ๋๋ค. ๊ฑฐ๊ธฐ
ํฌ๋๊ฐ ๋
ธ๋๋ฅผ ์ ์ธํ๊ณ ๊ฐ์ง ์ ์๋ ๋ค๋ฅธ ID๋ ์์ต๋๋ค.
2015๋
9์ 11์ผ ๊ธ์์ผ ์ค์ 1์ 13๋ถ, Angus Lees [email protected]
์ผ๋ค:
@smarterclayton https://github.com/smarterclayton ๊ทธ๋์ ์ผ๋ฐ์ ์ ๋๋ค (๊ทธ๋ฌ๋
๋ณดํธ์ ์ธ) ์ฌ๊ธฐ์ ํ์๋ ๊ทธ๋ฃน์ ์์ ์ ์ด๊ณ ์ ๋ ฌ๋ ๋ชฉ๋ก์ ์ ์งํ๋ ๊ฒ์ ๋๋ค.
ํ์. ๋๋ ๊ทธ๊ฒ์ด ์ ์ฒด์ฑ์ด
ํฌ๋๊ฐ ์์ฝ๋ ๋ ธ๋์ ๋๋ค.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -139453809
.
ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
@smarterclayton ์, ์ด ๋ฌธ์ ๋ ๋ถ๋ช ํ ์๋ ๊ธฐ๋ฅ ์์ฒญ๋ณด๋ค ๋ ๋ง์ ๋ฌธ์ ๋ก ๋ณํ๋์์ต๋๋ค. ์ฌ๊ธฐ์ ๋ฌด์์ ๋ง๋ค๋ ค๊ณ ํ๋์ง ์์ด๋ฒ๋ ธ์ผ๋ฏ๋ก ๊ณ์ํด์ ๋ ธ์ด์ฆ๋ฅผ ์ถ๊ฐํ๊ธฐ๋ณด๋ค๋ ๋ฌผ๋ฌ๋๊ฒ ์ต๋๋ค...
์ฃ์กํฉ๋๋ค. ์์ ์ด ๊ด๋ จ์ด ์๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ๋ฌธ์ ๋ ์ธํธ๋ฅผ ์ ์ํ๊ณ ํ๋์ ์ ํํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ํฌ๋๊ฐ ์ธํธ์ ๊ตฌ์ฑ์ ์๊ฒฉ์ ๋ฐ์ํด์ผ ํฉ๋๋ค(์ธํธ์ ํฌ๋ ID์ ์ผ์นํ๋ ๋ง์ดํธ ๋ณผ๋ฅจ X). ๋ฏธํด๊ฒฐ ์ง๋ฌธ์ด ์์ต๋๋ค. ํฌ๋๊ฐ ๋์์ ๋ ์ธํธ์ ๊ตฌ์ฑ์์ด ๋ ์ ์๊ณ ๋ ์ค ํ๋์์ ๊ณ ์ ํ ID๋ฅผ ๊ฐ์ง ์ ์์ต๋๊น?
๋ฐ๋ชฌ ์ปจํธ๋กค๋ฌ์ ์ํด ์คํ๋๋ ํฌ๋์ "๋ช ๋ฐฑํ" ID๊ฐ ์๋ ๊ฒฝ์ฐ์ผ ์ ์์ต๋๋ค(๋ฐ๋ชฌ ์ปจํธ๋กค๋ฌ๋ ๋ ธ๋ ์งํฉ์์ ์๋ํ๊ณ RC๋ ํฌ๋ ์งํฉ์์ ์๋).
ID์ ํ ๊ฐ์ง ์๊ตฌ ์ฌํญ์ ์งํฉ์์ ๊ณ ์ ํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ํฌ๋ ์ด๋ฆ๊ณผ ํฌ๋ ์ด๋ฆ ์์ฑ์ ํ์ฉํ์ฌ ๊ณ ์ ์ฑ์ ๋ณด์ฅํ ์ ์์ต๋๊น? ์๋ฅผ ๋ค์ด, RC๋ ์์์ ์ด๋ฆ์ ์์ฑํฉ๋๋ค. RC๊ฐ ์ ํํ ํฌ๋ ์ธํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฐ์ ์ ์ธ ๋ฐฉ์์ผ๋ก ํฌ๋์ ์ด๋ฆ์ ์์ฑํ ์ ์์ต๋๊น?
๋ ์ด๋ธ์ด a=b์ธ ํ(Pod)์ ์ ํํ๋ RC๋ฅผ ๊ณ ๋ คํ์ญ์์ค. ์์ฑํ ๋ค์ ํฌ๋๋ฅผ ๊ณ์ฐํ๋ ค๋ฉด ํฌ๋๋ฅผ ๊ฐ์ ธ์์ ๊ฐ์๋ก ์ค์ฌ์ผ ํฉ๋๋ค. ๊ณ ์ ํ ์ด๋ฆ ์งํฉ์ผ๋ก ์ถ์ํ ๋ค์ RC๊ฐ ํด๋น ์งํฉ ๋ด์์ ์ด๋ฆ ์์ฑ ํจํด์ ๋ฐ๋ฅด๋ ค๊ณ ํ๋ฉด ์ด๋ป๊ฒ ๋ ๊น์? ๊ฒน์น์ง ์์ง๋ง ์๋น์ค ๋ ์ด๋ธ๋ก ํ(Pod)์ ์์ฑํ ๋ ๊ฐ์ RC๋ ๊ณ ์ ํ ์ด๋ฆ์ ์์ฑํ ์ ์์ต๋๋ค(์ด๋ฆ์ ๋๊ณ ์ธ์ธ ์ ์์ง๋ง ์์์ ์). ์ด๋ฆ์ ์ญ์ ํ ํ ๋ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๊ทธ๋ฐ ๋ค์ ํฌ๋์ ์๊ตฌ ๋ณผ๋ฅจ์ ํฌ๋ ์ด๋ฆ์ ๊ธฐ๋ฐ์ผ๋ก PVC๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. pvc ํ๋ฌ๋ ๊ด์ฐฐ๋ RC ํ์ ๋ํ ์ถฉ๋ถํ ํด๋ ์์ด ์๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๋ฐ๋ชฌ ์ปจํธ๋กค๋ฌ๋ ๋ ธ๋ ์ด๋ฆ์ ๋ํด ๊ฒฐ์ ์ ์ธ ์ด๋ฆ์ ์ ํํ ์ ์์ต๋๋ค. ์ผ๋ถ ํจํด์ ๊ธฐ๋ฐ์ผ๋ก ์๋น์ค์ ํฌ๋ ์ด๋ฆ์ DNS ์ด๋ฆ์ ์ฐ๊ฒฐํ ์๋ ์์ต๋๋ค.
์ด๊ฒ์ ํฌ๋์ ๊ณ ์ ํ ID ํ๋๋ฅผ ์ถ๊ฐํ๋ ๊ฒ๋ณด๋ค ๋ ๊ฐ๊ฒฐํ๊ฒ ๋๊ปด์ง๋๋ค. ์ด๋ ํฌ๋๊ฐ ์ฌ์ ํ ์ ์๋๋ฌผ์ด ์๋์ง๋ง ์ด๋ฆ์ ์ ์๋๋ฌผ์ผ ์ ์์์ ์๋ฏธํฉ๋๋ค(๋ถํฉ๋ฆฌํ ์ง์ ์ ์๋). ๋์ผํ ํฌ๋ ํ๋ก์ธ์ค์ ๋ ์ธ์คํด์ค๊ฐ ํด๋ฌ์คํฐ์์ ๋์์ ์คํ๋๋ ๊ฒ์ ๋ง์ ์๋ ์์ง๋ง ์ด๋ฆ์ด ์ค๋๋ ํ ๊ณณ์์๋ง ์ฌ์ฉ๋๋ค๋ ๊ฒ์ ํ์คํ ๋ณด์ฅํ ์ ์์ต๋๋ค.
์์ "๊ด์ฐฐ๋ ์ด๋ฆ ํ"์ ์๋ฏธํ์ต๋๋ค. ๋์ DNS๋ hashpodname.ept.service.namespace.svc.cluster.local์ ๋๋ค. ์๋ํฌ์ธํธ์ ์ด๋ฏธ ํฌ๋ ์ด๋ฆ์ด ์์ผ๋ฏ๋ก ์๋ฌด๊ฒ๋ ์ถ๊ฐํ ํ์๊ฐ ์์ต๋๋ค.
๊ฐ๋ฅํ ๋ค์ ๋ฐ๋ณต์ผ๋ก ์ด ๋ฌธ์ ์ ํด๊ฒฐ์ ์ ์ํ๋ https://github.com/kubernetes/contrib/tree/master/service-loadbalancer ๊ด๋ จ
์ฌ๊ธฐ์์ DaemonSet์ ๋ํด ๋ ผ์ํ๋ ์ด์ ๋ ๋ฌด์์ ๋๊น? ๊ทธ๊ฒ์ #12893, IMO์ ์ํด ํด๊ฒฐ๋์์ต๋๋ค.
@smarterclayton ํฌ๋ ์ด๋ฆ์์ ID๋ฅผ ํ์ํ๊ฑฐ๋ RC๋ฅผ ์ฌ์ฉํ์ฌ ID๋ฅผ ํ ๋นํ๋ ๋ฐฉ๋ฒ์ ๋ค์ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๋ฌธ์ ๋ ์ฌ๊ธฐ์์ ๋ ผ์๋์์ต๋๋ค. https://github.com/kubernetes/kubernetes/issues/260#issuecomment -102107352
ํ ๊ฐ์ง ๊ฐ๋ฅ์ฑ์ ์ํ๋ ๊ฒฝ์ฐ @smarterclayton์ด ์ค๋ช ํ๋ ๋ฐฉ์์ผ๋ก ์ด๋ฆ์ ์์ฑํ ์ ์๋ RC ์ต์ ๊ณผ ์ต์ ์ค์ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ์ฌ์ฉํ ์ ์๋ ๊ณ ์ ํ ๊ธฐ๋ฅ ์ธํธ๋ฅผ ๊ฐ๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ "์์ ์์ธ" ์ ๊ทผ ๋ฐฉ์์ผ๋ก ๊ตฌํํ๊ธฐ ์ด๋ ค์ด ๊ฒ์ ์ต์ ์ ํ์ฑํํ๋ฉด ์ฌ์ฉํ ์ ์์ง๋ง ์ฌ๊ธฐ์ ์ค๋ช ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋๋ก ๊ธฐ๋ณธ ๋์(์ต์ ๋นํ์ฑํ)์ ๋ค๋ฅธ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง๋ง ์ฌ๊ธฐ์ ์ค๋ช ๋ ๊ธฐ๋ฅ์ ์ ๊ณตํ์ง ์์ต๋๋ค.
Borg ํ์คํฌ ์ธ๋ฑ์ค ์ถ์ํ์ ๊ฐ์ ์ ํธ๋ฆฌํฐ๊ฐ _ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด ๊ณ์ํด์ ๋ํ๋๋ ๊ฒ ๊ฐ์ผ๋ฉฐ, ์ฐ๋ฆฌ๊ฐ ๊ทธ๊ฒ์ ์ต์ ์ผ๋ก ์ ๊ณตํ ์ ์๋ ์ด์ ๊ฐ ๋ช ํํ์ง ์์ต๋๋ค.
DaemonSet ๋ถ์ฐ ํ์ผ ์์คํ
์คํ ๋ฆฌ์ง ์ผ์ด์ค๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
(Gluster) ์ฌ๊ฒฐํฉ์ ์ํด ๊ฐ ํธ์คํธ๊ฐ ์ผ๊ด๋ ID๋ฅผ ๊ฐ์ ธ์ผ ํ๋ ๊ฒฝ์ฐ
ํด๋ฌ์คํฐ. ๋ ํ๊ณ ๋ค๊ฒ ์ง๋ง ์ฌ์ ํ ๋ญ๊ฐ๊ฐ ํ์ํ ๊ฒ ๊ฐ์
#260์ ํ์ - ๋ค์ ์ฐ๊ฒฐํ๋ฉด ํธ์คํธ ์ด๋ฆ์ด ์ถฉ๋ถํ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ ์ธ์คํด์ค์ ํธ์คํธ ๋์คํฌ. DaemonSet์ด ๋ฌด์์ธ์ง ์ดํดํ์ง ๋ชปํ์ ์๋ ์์ต๋๋ค.
์ ๊ณต๋๊ณ #12893์ด ๋ฐฐ์ก๋์์ง๋ง ๊ทธ๊ฒ์ด
๋์คํฌ๋ฅผ ์ฌ์ฌ์ฉํ๋ ค๋ ์์คํ
ํธ์คํธ.
2015๋
9์ 16์ผ ์์์ผ ์ค์ 12:22, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:
@smarterclayton https://github.com/smarterclayton ๋ค์ ๋ฐฉ๋ฌธํ์ง ๋ง์
ํฌ๋ ์ด๋ฆ์์ ID๋ฅผ ํ์ํ๊ฑฐ๋ RC๋ฅผ ์ฌ์ฉํ์ฌ ID๋ฅผ ํ ๋นํ์ง ์์ต๋๋ค.
์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๋ฌธ์ ๋ ์ฌ๊ธฐ์์ ๋ ผ์๋์์ต๋๋ค. #260(๋๊ธ)
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -102107352โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -140623023
.
ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
๊ตฌ์ฒด์ ์ธ ์๋ก etcd ํด๋ฌ์คํฐ๋ฅผ ์์ํด ๋ณด์ญ์์ค. 7๊ฐ์ ์ธ์คํด์ค์ 7๊ฐ์ ์ธ์คํด์ค๊ฐ ์์ต๋๋ค.
๋ณผ๋ฅจ. ๋๋ (์ธ์๋ฅผ ์ํด) ์ด๋ฆ๊ณผ ๋ณผ๋ฅจ etcd-1์ ์ํฉ๋๋ค.
etcd-7 ๋ฐ etcd-pvc-1๋ถํฐ etc-pvc-7๊น์ง.
๋กค๋ง ๋ฐฐํฌ์๋ MaxUnavailable 90%(๋๋ ๋๋ฑ), MaxSurge 0%๊ฐ ์์ต๋๋ค. ๊ทธ๊ฒ
์ด์ RC๋ฅผ ์ถ์ํ๊ณ ์ RC๋ฅผ ํ์ฅํฉ๋๋ค. ์ฐ์ํ๊ฒ ์ค๋๋ RC
etcd-5๋ฅผ ์ญ์ ํฉ๋๋ค. ๊ทธ๊ฒ์ ์ฆ์ ์ ํจ RC ์ธํธ์์ ์ฌ๋ผ์ง๋๋ค. ์๋ก์ด
RC๋ (์ค์ ๋ ๊ฐ๊ฒฉ์ ๊ด์ฐฐํ์ฌ) etcd-5๋ฅผ ์์ฑํ๋ ค๊ณ ์๋ํฉ๋๋ค. ๊ทธ๊ฒ์ ์์
"์ด๋ฏธ ์กด์ฌํ๋ ์์ธ". ์ด๋ฅผ ๋ฐฑ์คํ ๋ฐ ๋๊ธฐ์ด๋ก ์ฒ๋ฆฌํฉ๋๋ค. ํ๋ฒ
etcd-5๊ฐ ์ ๋ง๋ก ์ฌ๋ผ์ก์ต๋๋ค. ๊ณ์ ์งํํ ์ ์์ต๋๋ค. etcd-5๊ฐ ์ค๋น๋๋ฉด DC
๋ค์ ๋จ๊ณ๋ก ์ด๋ํฉ๋๋ค.
๋์ - ํฌ๋์ ์ค์ ๋ ID - ์ด์ RC๊ฐ ์ถ์๋ฉ๋๋ค. ใ
์ ํฌ๋๋ ์ ์ด๋ฆ์ผ๋ก ์ฆ์ ์์ฑ๋ฉ๋๋ค. ์ ํฌ๋๋ฅผ ์คํํ ์ ์์ต๋๋ค.
์ด๋ค PVC๋ฅผ ๋ง์ดํธํ ์ง ํ์
ํ๋ ค๋ฉด ID ์ธํธ๊ฐ ํ์ํ๊ธฐ ๋๋ฌธ์
๋๋ค.
์ฉ๋. Kubelet์์ ๋๊ธฐ ๋ฃจํ๋ก ๋ค์ด๊ฐ๋๋ค. ID ์ปจํธ๋กค๋ฌ
์ผ๋ถ ๋ ์ด๋ธ ์ ํ๊ธฐ ์ธํธ๋ฅผ ๊ฐ์ํ๊ณ ์๋ณ ๋ฑ์ ๊ด์ฐฐํฉ๋๋ค. etcd-5๋ ๊ทธ๋ ์ง ์์ต๋๋ค.
ํ ๋น๋จ. ID etcd-5๋ฅผ ์ ํฌ๋์ ์ค์ ํฉ๋๋ค. kubelet์ ๋ค์์ ๊ด์ฐฐํฉ๋๋ค.
๊ทธ๋ฐ ๋ค์ ๋ง์ดํธํ PVC๋ฅผ ํ์
ํ๊ณ ํฌ๋๋ฅผ ์์ํฉ๋๋ค.
(๋ณผ๋ฅจ์ด ๋ค๋ฅธ ๋
ธ๋์์ ๋ถ๋ฆฌ๋์๋ค๊ณ ๊ฐ์ ).
๊ตฌ์กฐ์ ์ผ๋ก ์ด๋ค์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค. ํ์๋ ์์ ๊ฒน์นจ์ ํ์ฉํฉ๋๋ค.
๋ ๋ค PVC ๋งคํ์ด ํ์ํฉ๋๋ค.
2015๋
9์ 16์ผ ์์์ผ ์ค์ 12:39, Clayton Coleman [email protected]
์ผ๋ค:
DaemonSet ๋ถ์ฐ ํ์ผ ์์คํ ์คํ ๋ฆฌ์ง ์ผ์ด์ค๋ฅผ ํด๊ฒฐํ์ง ๋ชปํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
(Gluster) ์ฌ๊ฒฐํฉ์ ์ํด ๊ฐ ํธ์คํธ๊ฐ ์ผ๊ด๋ ID๋ฅผ ๊ฐ์ ธ์ผ ํ๋ ๊ฒฝ์ฐ
ํด๋ฌ์คํฐ. ๋ ํ๊ณ ๋ค๊ฒ ์ง๋ง ์ฌ์ ํ ๋ญ๊ฐ๊ฐ ํ์ํ ๊ฒ ๊ฐ์
#260์ ํ์ - ๋ค์ ์ฐ๊ฒฐํ๋ฉด ํธ์คํธ ์ด๋ฆ์ด ์ถฉ๋ถํ์ง ๋ชจ๋ฅด๊ฒ ์ต๋๋ค.
์ ์ธ์คํด์ค์ ํธ์คํธ ๋์คํฌ. DaemonSet์ด ๋ฌด์์ธ์ง ์ดํดํ์ง ๋ชปํ์ ์๋ ์์ต๋๋ค.
์ ๊ณต๋๊ณ #12893์ด ๋ฐฐ์ก๋์์ง๋ง ๊ทธ๊ฒ์ด
๋์คํฌ๋ฅผ ์ฌ์ฌ์ฉํ๋ ค๋ ์์คํ ํธ์คํธ.2015๋ 9์ 16์ผ ์์์ผ ์ค์ 12:22, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:@smarterclayton https://github.com/smarterclayton ๋ค์ ๋ฐฉ๋ฌธํ์ง ๋ง์
ํฌ๋ ์ด๋ฆ์์ ID๋ฅผ ํ์ํ๊ฑฐ๋ RC๋ฅผ ์ฌ์ฉํ์ฌ ID๋ฅผ ํ ๋นํ์ง ์์ต๋๋ค.
์ด๋ฌํ ์ ๊ทผ ๋ฐฉ์์ ๋ฌธ์ ๋ ์ฌ๊ธฐ์์ ๋ ผ์๋์์ต๋๋ค. #260(๋๊ธ)
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -102107352โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -140623023
.ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
์ด ๋ฌธ์ ๋ฅผ ์ด๋ ต๊ฒ ๋ง๋๋ ๊ฒ์ ์์ ์ ์ด๊ณ ๊ณ ์ ํ ์ด๋ฆ ํ์ ์์ฑํ๊ฑฐ๋ PD ํ์ ์ฌ์ฉํ์ง ์๋๋ค๋ ๊ฒ์ ๋๋ค. ๋ฌธ์ ๋ ๋ ๊ฐ์ง๋ฅผ ๋์์ ์ํํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ํ์ฅํ๋ฉด ์ฌ์์ ์ด๋ค ์๋ณ์๋ ์ด์ ๊ฐ์ด ํ๋งํ ์ ์๋ ์ด์ ๋ ๋ฌด์์ ๋๊น?
๋ด๊ฐ ์๋ ํ(๋๋ถ๋ถ ์ค๊ณ ) ์์ถ ์ธ๋ฑ์ค ๋ฌธ์ ๋ ํด๊ฒฐ ๊ฐ๋ฅํ๋ค๊ณ ์๊ฐํฉ๋๋ค(ํนํ David๊ฐ ์ ์ํ ๋๋ก ์ํํ๊ณ ๋ค๋ฅธ ๊ธฐ๋ฅ๊ณผ ์ํธ ๋ฐฐํ์ ์ผ๋ก ๋ง๋๋ ๊ฒฝ์ฐ). ๊ทธ๋ฌ๋ ๋ํ, ๋ ๋ง์ด ๋์ผ์๋ก, ์ด๋ค ๋ฉ์ฒญ์ด๊ฐ ๊ฒ์ํ ํจ์น ์์ด๋์ด๊ฐ ๋ ์ซ์ด์ง๋๋ค.
์ด ๋ฌธ์ ๋ ๊ณ์ ์ง์๋์ด ์์ผ๋ฉฐ ๋ถ์ ๋ง๋น๊ฐ ์จ ๊ฒ ๊ฐ์ต๋๋ค.
๋ค๋ฅธ ํ๋ง ์ฌ์ฉ ์ฌ๋ก์ ์๊ฐ ๋ ๋ง์์ผ๋ฉด ํฉ๋๋ค. ๋๋ Gluster๋ฅผ ์๊ฐํ๋ค
๋ค๋ฅผ ์ ์์ง๋ง
cassandra/etcd/mongo/zookeeper "๋ณผ๋ฅจ์ ์ฌ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค.
๋ด๊ฐ ์ ์ ๋๊ตฌ๋ผ๊ณ ๋งํ๋์ง ๊ธฐ์ตํ์ญ์์ค." ์ฐ๋ฆฌ๋ ์ค์ ๋ก ์ญํ ๊ธฐ๋ฐ์ด ์์์ต๋๋ค.
์ฒซ ๋ฒ์งธ N๊ฐ์ ํฌ๋ ์ฝ๋๋ค์ดํฐ์ ๋ค์ M๊ฐ์ ์์
์๋ฅผ ๋ง๋ค๊ณ ์ถ์ต๋๋ค) ์์
ํ์ฉํฉ๋๋ค.
2015๋
9์ 16์ผ ์์์ผ ์ค์ 12์ 46๋ถ, Tim Hockin [email protected]
์ผ๋ค:
๋์๊ฒ ์ด ๋ฌธ์ ๋ฅผ ์ด๋ ต๊ฒ ๋ง๋๋ ๊ฒ์ ์์ ์ ์ธ
๊ณ ์ ํ ์ด๋ฆ ํ ๋๋ PD ํ ์ฌ์ฉ ๋ฌธ์ ๋ ๋ ๊ฐ์ง๋ฅผ ๋ชจ๋ ์ํํ๋ ๊ฒ์ ๋๋ค.
๋์. ๊ทธ๋ฆฌ๊ณ ๋น์ ์ด ๊ทธ๊ฒ์ ํ์ฅํ๋ฉด ์ ์๋ฌด ๊ฒ๋ ํ ์ ์์ต๋๋ค
์ฌ์์ ์๋ณ์๋ ๋ค์๊ณผ ๊ฐ์ด ํ๋ง๋ฉ๋๊น?๋ด๊ฐ ์๋ ํ (๋๋ถ๋ถ ์ค๊ณ ) ํฉ ์ธ๋ฑ์ค ๋ฌธ์ ,
๊ทธ๋ค์ด ์ด ์ ์๋ค๊ณ ์๊ฐํ์ญ์์ค(ํนํ ์ฐ๋ฆฌ๊ฐ David๊ฐ ์ ์ํ๊ณ
๋ค๋ฅธ ๊ธฐ๋ฅ๊ณผ ์ํธ ๋ฐฐํ์ ์). ํ์ง๋ง ์ญ์ ๋์ผ์๋ก
๊ทธ๊ฑด ๊ทธ๋ ๊ณ , ์ด๋ค ๋ฉ์ฒญ์ด๊ฐ ๊ฒ์ํ ํจ์น ์์ด๋์ด๋ฅผ ๋ ์ซ์ดํฉ๋๋ค.์ด ๋ฌธ์ ๋ ๊ณ์ํด์ ๊ณ์๋๊ณ ์์ผ๋ฉฐ ์ฐ๋ฆฌ๊ฐ ๋ถ์์ ๊ฐ์ง๊ณ ์๋ ๊ฒ ๊ฐ์ ๋๋ ต์ต๋๋ค.
๋ง๋น.โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -140625746
.
ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
๋ฐ๋ชฌ์ธํธ:
๋ํ ์์์ ๋ฌด๊ธฐํ ์ฉ์ #1574๋ฅผ ์ ๊ณตํ๊ณ ์ผ๋ฐ์ ์ผ๋ก ๋ ธ๋์ ๋ํด ํ์ฑํ๋ ์ค์ผ์ค๋ง ์ด์ ์ "์ค์ผ์ค๋ง"์ ํ์ฑํํ๊ธฐ ์ํด DaemonSet์ ๋ ธ๋ ์ปจํธ๋กค๋ฌ์ ํตํฉํ๋ ค๋ ์๋์ ๋๋ค. ์์์ ์ฐ์ ์์ ์ง์ ๋ ํฉ๋ฆฌ์ ์ผ ์ ์์ต๋๋ค.
ํด๋ฌ์คํฐ ์คํ ๋ฆฌ์ง ์์คํ ์ ๊ฒฝ์ฐ ์คํ ๋ฆฌ์ง ์์คํ ์์๋ง hostPath๋ฅผ ํตํด ์ก์ธ์คํ๋ ๊ฐ ํธ์คํธ์ ์ถ๊ฐ ๋์คํฌ๋ฅผ ํ๋ก๋น์ ๋ํ๋ ๊ฒ์ ์์ํ ์ ์์ต๋๋ค. Docker๋ emptyDir์์๋ ์ฌ์ฉํ์ง ์์ต๋๋ค.
ID์ ๊ด๋ จํ์ฌ ์ฌ๊ธฐ์์ ์ ์์ ๋ฌธ์ ๊ฐ ์๋ค๊ณ ๋ด ๋๋ค. https://github.com/kubernetes/kubernetes/issues/260#issuecomment -133318903
์ด ๋ฌธ์ ๋ IMO์ ๋ํ ์ถฉ๋ถํ ์ฐ์ ์์๊ฐ ์๊ธฐ ๋๋ฌธ์ ์ฃผ๋ก ๋จ์ ์์ต๋๋ค.
Clayton์ ๋ง์ ๋ํ์ดํ๋ ค๋ฉด(๋๋ ๊ทธ๋ฅ ๋๊ฐ์ ๋ง์ ํ์ง๋ง ๋ ๋ฉ์ฒญํ๊ฒ):
$ kubectl create -f -
kind: IdentityPool
apiVersion: v1
metadata:
name: my-etcd-idents
namespace: default
spec:
identities:
- etcd-0
- etcd-1
- etcd-2
^D
$ kubectl create -f -
kind: VolumePool
apiVersion: v1
metadata:
name: my-etcd-volumes
namespace: default
spec:
volumes:
- etcd-disk-0
- etcd-disk-1
- etcd-disk-2
^D
$ kubectl create -f -
kind: Replicationcontroller
apiVersion: v1
metadata:
name: my-etcd-rc
namespace: default
spec:
selector:
job: etcd
identityPoolName: my-etcd-idents
podTemplate:
containers:
- name: etcd
image: coreos/etcd:2.0
volumeMounts:
- name: data
path: /data
volumes:
- name: data
identity:
volumePoolName: my-etcd-volumes
^D
์๋ฏธ๋ RC(๋๋ ๋ฌด์ธ๊ฐ)๊ฐ ์ด๊ฒ์ด ID ์ธํธ์์ ๊นจ๋ซ๊ณ , identityPool์์ ์ธ๋ฑ์ค๋ฅผ ํ ๋นํ๊ณ , ํด๋น ID๋ฅผ ํฌ๋ ์ด๋ฆ์ ํ ๋นํ ๋ค์ ๋ด๋ถ๋ฅผ ๋ค์ฌ๋ค๋ณด๊ณ ๋ค๋ฅธ ID ์ค์ฌ ํ๋๊ฐ ์ค์ ๋์ด ์๋์ง ํ์ธํ๋ค๋ ๊ฒ์ ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ณผ๋ฅจ.
์์ ํ ์ผ๋ฐ์ ์ธ ๊ฒ์ ์๋์ง๋ง(์์์ ํ๋๋ฅผ ํ๋งํ ์ ์์) ํ์์ ๋ฐ๋ผ ๋ ๋ง์ ์๋ณ ์ธ์ ์ต์ ์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์ฐ๋ฆฌ๊ฐ ์ด ๋ถ๋ถ์ ๋ํด ๋ง์์ ๋๋ ์ฌ์์ ์ ํ๋ค๋ฉด ๋ ๋นจ๋ฆฌ ์๋ฃ๋ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
์คํ์ ์์ฑํ๋๋ฐ๋ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
IdentityPool/VolumePool๊ณผ ๊ด๋ จํ์ฌ ์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ค๋์ ์ ์ฌ๋ฌ ํ์ด ์๋ํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ๊ฒฐ์ ํ์ต๋๋ค.
1.1 ์ฝ๋ ์์ฑ ๋ง๊ฐ์ผ์ ๊ธ์์ผ์ ๋๋ค. ์ง๊ธ์ ์ด ์์ ์ ์ํํ์ง ์์ ์ ์์ต๋๊น?
๊ด๋ จ ํญ๋ชฉ: #170. ๊ทธ๊ฒ์ ํฌ๋ ํ ํ๋ฆฟ์ ๋ถํ ํ๋ ๊ฒ์ ์ ์ํ์ง๋ง ํ ํ๋ฆฟ ๊ตฌ์ฑํ(ํจ์น๋ณด๋ค ๊ฐ๋ ฅํ๊ฒ ์ ํธํจ)๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ํจ๊ป ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
๋๋ ์ ์ด๋ v1.2-candidate์ ๋์์ธ์ ๋ฃ์์ต๋๋ค.
์ฃ์กํฉ๋๋ค. ์ค์ผ์น์์ ๋ช
ํํ์ง ์์์ต๋๋ค. RC(๋๋ IC?)์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ๋
์ด ์์ต๋๋ค.
๊ธฐ๋ณธ ํ ๋๋ ์ธ๋ฑ์ค. ํฌ๋์ IC์ ์ธ๋ฑ์ค๊ฐ ํ ๋น๋๋ฉด
index๋ ๋ชจ๋ ํ ์ค์ฌ ํ๋๋ฅผ ์ธ๋ฑ์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
ํ
ํ๋ฆฟ์ ๋ถํ ํ๋ฉด RC๊ฐ
ํ
ํ๋ฆฟ์ ๋ณ๊ฒฝํฉ๋๋ค. ๊ทธ๊ฒ์ ์กฐ๊ธ ๋ ๊น๋ค ๋กญ์ต๋๋ค.
์ด๋ฒ ์ฃผ์ ์ด๊ฒ์ ๋ํ ์ด์ผ๊ธฐ๋ ๊ทธ๋งํด๋ ์ข์ต๋๋ค. ๋ด ์์ ๋ฑ ๋ค์ด์์ด
๋ฐ์ ํธ์งํจ๊ณผ ๋๋์ด ์์ด๋์ด๋ฅผ ์น๊ณ ์์์ต๋๋ค ...
2015๋
9์ 15์ผ ํ์์ผ ์คํ 10:09, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:
์คํ์ ์์ฑํ๋๋ฐ๋ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
IdentityPool/VolumePool๊ณผ ๊ด๋ จํ์ฌ ์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ค๋ซ๋์
์ด์ ์๋ ์ฌ๋ฌ ํ์ด ์๋ํ์ง ์์ต๋๋ค.1.1 ์ฝ๋ ์์ฑ ๋ง๊ฐ์ผ์ ๊ธ์์ผ์ ๋๋ค. ์ง๊ธ์ ์ด ์์ ์ ์ํํ์ง ์์ ์ ์์ต๋๊น?
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -140627868
.
๋ค, ์ฐ๋ฆฌ ์ธก์์ ํ ๋ก ์ ์ด๋ฐ์ํจ ์ผ์ด ์์์ต๋๋ค.
๊ณ ๊ฐ ๋ฌธ์ ๋ ๋ฆด๋ฆฌ์ค ํ๋ก์ธ์ค๊ฐ ์์ ๋๊น์ง ๊ธฐ๋ค๋ฆฝ๋๋ค.
2015๋
9์ 16์ผ ์์์ผ ์ค์ 1์ 14๋ถ, Tim Hockin [email protected]
์ผ๋ค:
์ฃ์กํฉ๋๋ค. ์ค์ผ์น์์ ๋ช ํํ์ง ์์์ต๋๋ค. RC(๋๋ IC?)์๋ ๋ค์๊ณผ ๊ฐ์ ๊ฐ๋ ์ด ์์ต๋๋ค.
๊ธฐ๋ณธ ํ ๋๋ ์ธ๋ฑ์ค. ํฌ๋์ IC์ ์ธ๋ฑ์ค๊ฐ ํ ๋น๋๋ฉด
index๋ ๋ชจ๋ ํ ์ค์ฌ ํ๋๋ฅผ ์ธ๋ฑ์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.ํ ํ๋ฆฟ์ ๋ถํ ํ๋ฉด RC๊ฐ
ํ ํ๋ฆฟ์ ๋ณ๊ฒฝํฉ๋๋ค. ๊ทธ๊ฒ์ ์กฐ๊ธ ๋ ๊น๋ค ๋กญ์ต๋๋ค.์ด๋ฒ ์ฃผ์ ์ด๊ฒ์ ๋ํ ์ด์ผ๊ธฐ๋ ๊ทธ๋งํด๋ ์ข์ต๋๋ค. ๋ด ์์ ๋ฑ ๋ค์ด์์ด
๋ฐ์ ํธ์งํจ๊ณผ ๋๋์ด ์์ด๋์ด๋ฅผ ์น๊ณ ์์์ต๋๋ค ...2015๋ 9์ 15์ผ ํ์์ผ ์คํ 10:09, Brian Grant ์๋ฆผ @github.com
์ผ๋ค:์คํ์ ์์ฑํ๋๋ฐ๋ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
IdentityPool/VolumePool๊ณผ ๊ด๋ จํ์ฌ ์ฐ๋ฆฌ๋ ์ด๋ฏธ ์ค๋ซ๋์
์ด์ ์๋ ์ฌ๋ฌ ํ์ด ์๋ํ์ง ์์ต๋๋ค.1.1 ์ฝ๋ ์์ฑ ๋ง๊ฐ์ผ์ ๊ธ์์ผ์ ๋๋ค. ์ ๋ฐ ์ด๋ฌ์ง ๋ง์
์ง๊ธ?โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
<
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -140627868.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -140628241
.
ํด๋ ์ดํผ ์ฝ๋จผ | ์์ ์์ง๋์ด, OpenShift
๋ ผ์๋ ๋ชจ๋ IP ๋ฒํธ์ Pod์ ๊ดํ ๊ฒ์ด์ง๋ง Mongo & Zookeeper IP์ ๋ํ ์ ๊ฒฝํ์ ๋ฐ๋ฅด๋ฉด Pod๋ ๊ด๋ จ์ฑ์ด ์์ด์ผ ํฉ๋๋ค(์ ์๋๋ฌผ์ด ๋์ง ์์์ผ ํจ). ์๊ตฌ _volume_์ ์ด ๋ณผ๋ฅจ์ด ๋ค๋ฅธ '๋ณผ๋ฅจ'์ IP ๋ฒํธ๋ฅผ ๊ธฐ๋กํ๊ธฐ ๋๋ฌธ์ ๋ช ๋ชฉ ๋ฒํธ๊ฐ ํ์ํฉ๋๋ค. ํด๋น ๋ณผ๋ฅจ์ ๋ง์ดํธํ๋ Pod๊ฐ ๋ฌด์์ด๋ ๊ธฐ๋ก๋ IP ๋ฒํธ๋ฅผ ์ด๋ป๊ฒ๋ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค. ๋ณผ๋ฅจ์ ์ ์ ๋๋ฌผ ...
๋ณผ๋ฅจ์ ๋ํด ์ผ์ ํ๊ณ ๋ณผ๋ฅจ์ ํ์ฌํ๋ Pod์ ํ ๋น๋ DNS ์ด๋ฆ์ ์ ์๊ฐ์ ๋จผ ๊ธธ์ ์ฌ ๊ฒ์ ๋๋ค.
Mongo & ZK์์ ์์๋ธ ๋ฉค๋ฒ์ญ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ํญ์ ์ฌ์ฉ์ ์ ์ ์ฝ๋๋ฅผ ์คํํด์ผ ํ๋ฉฐ ๋๋ถ๋ถ์ ๋ค๋ฅธ ์์๋ธ์์๋ ๋์ผํ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ๋ฐ๋ผ์ ๋ณต์ ์ปจํธ๋กค๋ฌ๋ ์๋ชป๋ ์ด๋ฆ์ ๋๋ค. ์ด ์ ์๋๋ฌผ์ ๋ฉค๋ฒ์ฝ ์ปจํธ๋กค๋ฌ๊ฐ ๋ ํ์ํฉ๋๋ค. Member Ship ์ปจํธ๋กค๋ฌ๋ ์ด๊ธฐ ์ค์ ์ ์ฒ๋ฆฌํ ๋ค์ ์์๋ธ์ ๋ํ ์ฆ๋ถ ๋ณ๊ฒฝ์ ์ฒ๋ฆฌํ ์ ์์ด์ผ ํ๋ฉฐ ๋ง์ง๋ง์ผ๋ก ์ด๋ฅผ ์ ๊ฑฐํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ง์ดํธ๋ ๋ณผ๋ฅจ์ ๊ธฐ๋ฐ์ผ๋ก ํ๋ ์ผ์ ํ DNS ์ด๋ฆ๊ณผ ์ฌ์ฉ์ ์ง์ ์ฝ๋๋ก ์์๋ธ ๋ฉค๋ฒ์ญ์ ์ฒ๋ฆฌํ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ์ด๋ฌํ ์ ํ์ ์์คํ ์ ์ฒ๋ฆฌํ ์ ์์ด์ผ ํ๋ค๊ณ ์๊ฐํฉ๋๋ค.
์, ํฌ๋ IP๋ ๋จ๊ธฐ ํดํน์ ๊ฐ๊น์ต๋๋ค.
์ด ์ ์์ด ์งํ๋๋ ์์น๋ DNS์ ๋ณผ๋ฅจ ๋ชจ๋
๊ฒฐํฉ์ ์ ์งํ๊ธฐ ์ํด ํ์ฉํ ์ ์์ต๋๋ค. ๋ฌธ์ ๋ ๋ณผ๋ฅจ์ ์ ์ํ๋ DNS ์ด๋ฆ์
๋๋ค.
์ด๋ฏธ ์ค์ ํ ์ปคํ๋ง์ ๋ฐ๋์ด๋ฉฐ,
ํฌ๋ ์ฌ์์ ๋ค๋ฅธ ๋ถ๋ถ์ด ๋ ๋์ ๊ฐ๋
์ ํ์ฉํ๋๋ก ํ๊ณ ์ถ์ต๋๋ค.
(identity)๋ ํ๊ฒฝ์ ๋ํ ํํฅ API์ ๊ฐ์ต๋๋ค. ๊ทธ๊ฒ์ด ์ ์์ ๋ง๋ ๋ค.
๋ค๋ฅธ ์์๋ธ ์ํํธ์จ์ด์ ๋ํ ID๋ฅผ ๋ ์ฝ๊ฒ
์ ํ).
์์๋ธ์ ๋์ด์๋ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค.
์ฌ๊ธฐ์์ ์ค๋ณต(์ ์๋ ๊ฒ์ ๋ค์ด๋ณธ ์ ์ด ์์)ํ ๋ค์
์ต์ํ์ ์ ์ ํ๋ค๊ณ ๋๋ผ๋ ๊ตฌ์ฒด์ ์ธ ์ ์. ๋ด๊ฐ ์๊ฐํ๋ ํ
๊ฐ์ฅ ์ต๊ทผ์ ์ฌ๊ธฐ์ ์์ฝํ์ต๋๋ค.
2015๋ 9์ 23์ผ ์ค์ 11์ 33๋ถ์ Peter Kriens [email protected]์์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
ํ ๋ก ์ ๋ชจ๋ IP ๋ฒํธ์ Pod์ ๊ดํ ๊ฒ์ด์ง๋ง ์ ๊ฒฝํ์ผ๋ก๋
Mongo & Zookeeper IP Pod๋ ๊ด๋ จ์ฑ์ด ์์ด์ผ ํฉ๋๋ค(์ ์๋๋ฌผ์ด ๋์ง ์์์ผ ํจ).
์๊ตฌ _volume_์ ์ด ๋ณผ๋ฅจ์ด ๊ธฐ๋กํ๊ธฐ ๋๋ฌธ์ ๋ช
๋ชฉ์ ์ซ์๊ฐ ํ์ํฉ๋๋ค.
๋ค๋ฅธ '๋ณผ๋ฅจ'์ IP ๋ฒํธ์
๋๋ค. ํด๋น ๋ณผ๋ฅจ์ ๋ง์ดํธํ๋ Pod
๊ธฐ๋ก๋ IP ๋ฒํธ๋ฅผ ์ด๋ป๊ฒ๋ ์ฌ์ฉํ ์ ์์ด์ผ ํฉ๋๋ค. ๋ณผ๋ฅจ์
์ ์ ๋๋ฌผ ...
๋ณผ๋ฅจ์ ๋ํด ์ผ์ ํ๊ณ ๋ค์์ ์ํํ๋ Pod์ ํ ๋น๋ DNS ์ด๋ฆ
๋ง์ดํธ ๋ณผ๋ฅจ์ ๋ด๊ฐ ์๊ฐํ๋ ๋จผ ๊ธธ์ ์ฌ ๊ฒ์
๋๋ค.
Mongo & ZK์์ ์์๋ธ ๋ฉค๋ฒ์ฝ์ ๋ณ๊ฒฝํ๋ ค๋ฉด ํญ์ ์ฌ์ฉ์ ์ ์๊ฐ ํ์ํฉ๋๋ค.
์ฝ๋๋ฅผ ์คํํ ์ ์์ผ๋ฉฐ ๋๋ถ๋ถ์ ๋ค๋ฅธ ์์๋ธ์์๋ ๋์ผํ ๊ฒ์ผ๋ก ์์ํฉ๋๋ค. ๊ทธ๋์
๋ณต์ ์ปจํธ๋กค๋ฌ์ ์ด๋ฆ์ด ์๋ชป๋์์ต๋๋ค. ์ด ์ ์๋๋ฌผ์ ๊ตฌ์ฑ์์ด ๋ ํ์ํฉ๋๋ค.
์ ๋ฐ ๊ด์ ์ฌ. Member Ship ์ปจํธ๋กค๋ฌ๋ ๋ค์์ ์ฒ๋ฆฌํ ์ ์์ด์ผ ํฉ๋๋ค.
์ด๊ธฐ ์ค์ ๊ณผ ์์๋ธ์ ๋ํ ์ ์ง์ ๋ณ๊ฒฝ, ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก
์ฃฝ์ฌ๋ฒ๋ ค.
ํ์ฌ๋ ๋ณผ๋ฅจ ๋ฐ
์ฌ์ฉ์ ์ ์ ์ฝ๋๋ก ์์๋ธ ๋ฉค๋ฒ์ญ์ ์ฒ๋ฆฌํ ์ ์์ด์ผ ํฉ๋๋ค.
๋ด๊ฐ ์๊ฐํ๋ ์ด๋ฌํ ์ ํ์ ์์คํ
์ ์ฒ๋ฆฌํฉ๋๋ค.
โ
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -142640825
.
/ํ
https://hub.docker.com/r/elevy/zookeeper/ ์์ ๊ธฐ์กด ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ Kubernetes์์ ZK ํด๋ฌ์คํฐ๋ฅผ ์ค์ ํ๋ ์๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค
@smarterclayton @thockin
๋ฉฐ์น ์ ์์ ๊ฑฐ๋ฅผ ํ๊ณ ์ฌ๋ฌด์ค์ ๊ฐ๋ฉด์ ๋๋ ์๊ฐ:
๋๋ ํ์ฌ ์ด๊ฒ์ PetSet ์ปจํธ๋กค๋ฌ ๋๋ ์๋ง๋ ShardSet ์ปจํธ๋กค๋ฌ๋ก ์๊ฐํ๊ณ ์์ต๋๋ค. ์ฌ๋๋ค์ด ๊ทธ๋ ๊ฒ ์๊ฐํ๊ณ ์ถ๋ค๋ฉด ์ฒ์์ ๋ค์ ๋ ผ์ํ ๊ฒ์ฒ๋ผ: https://github.com/kubernetes/kubernetes/issues/260# ๋ฌธ์ ์๊ฒฌ -57671926.
์ฐ๋ฆฌ๊ฐ ๋ค๋ฃจ๋ ค๊ณ ํ๋ ๊ฒฝ์ฐ๋ N๊ฐ์ ์ ์ฌํ ์ ์๋๋ฌผ์ด ์์ง๋ง ์ฌ์ ํ ์ ์๋๋ฌผ์ ๋๋ค. ๋์ฒดํ ์ ์์ต๋๋ค.
๋๋ ์ฌ์ ํ ์ด๊ฒ์ ReplicationController์ ๋ฌถ๋ ๊ฒ์ด ์๋ํ์ง ์๋๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ถ๋ถ์ ์ผ๋ก ReplicationController์๋ ๋จ์ผ ํ ํ๋ฆฟ๋ง ์๊ธฐ ๋๋ฌธ์ ๋๋ค. PetSet/ShardSet์ Deployment ๋๋ DaemonSet๊ณผ ๊ฐ์ ๋ ๋์ ์์ค์ ์ถ์ํ์ฌ์ผ ํฉ๋๋ค. PetSet์ ์ ์ฌ์ ์ผ๋ก ์ธ์คํด์ค๋น ํ๋์ PodTemplate ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
๋๋ ์ฐ๋ฆฌ๊ฐ Deployment API๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋ค๊ณ ์๊ฐํ์ง ์์ต๋๋ค. ๋ฌด์๋ณด๋ค๋ ํ์ฌ kubectl ๋ฐ Deployment์ ๋กค๋ง ์ ๋ฐ์ดํธ ๋กค์์ ์ ๋ต์ด ์ด ๊ฒฝ์ฐ์๋ ์๋ํ์ง ์์ต๋๋ค. ๋๋ถ๋ถ์ ์ ์๋๋ฌผ์ ์ฌ์ ์ ๋ฐ์ดํธ๋ฅผ ์ํ ๊ฒ์ด๊ณ , ๋กค๋ง ์ ๋ฐ์ดํธ๋ฅผ ์ํ๋ ์ ์๋๋ฌผ์ ์ค๋ ์๋ฅผ ์ด๊ณผํ๋ ๊ธ์ฆ์ ์ฒ๋ฆฌํ ์ ์์ผ๋ฉฐ ์ ๋ฐ์ดํธ ์์์ ํนํ ์ ๊ฒฝ์ ์ธ ๊ฒ์ ๋๋ค.
์์ด๋์ด๊ฐ ๋ง์์ ๋๋ ๋งํผ ์ํฅ์ ID ํ ๋น์ด ์๋ํ์ง ์์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ํ์ ํ ๋น๋ ID๋ฅผ ๋ฐํํ๋ ๊ฒ๊ณผ ์ ID๋ฅผ ํ ๋นํ๋ ๊ฒ๊ณผ ๊ด๋ จ๋ ๊ฒฝ์ ์กฐ๊ฑด์ด ๋๋ฌด ๋ง์ต๋๋ค. @erictune ์ด Job๊ณผ ํจ๊ป RabbitMQ ์ฌ์ฉ์ ํ์ํ๋ ๋์ ๋ฐ์ํ ๋ฌธ์ ์ ๋งค์ฐ ์ ์ฌํฉ๋๋ค.
์ปจํธ๋กค๋ฌ ๋ฐ ์๊ฒฉ ์ฆ๋ช ํ, ์ปจํธ๋กค๋ฌ ๋ฐ ์๋น์ค์ ๊ฐ์ด ๋ ์ด์์ ์์น์์ PetSet์ ๊ท๋ชจ๋ฅผ ํํํ๊ณ ์ถ์ง ์์ต๋๋ค.
์ด ๊ฒฝ์ฐ์๋ ๋ฒ์ฉ ํ ํ๋ฆฟ์ด ํ์ํ์ง ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฐ๊ฒฐ๋ ์คํ ๋ฆฌ์ง ๋ฐ ์์ธก ๊ฐ๋ฅํ๊ณ ๋ด๊ตฌ์ฑ ์๋ ๋คํธ์ํฌ ID๊ฐ ์๋ ํฌ๋๋ฅผ ์ ๊ฑฐํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. ๋๋ต์ ์ธ ๋ฑ๊ฐ๋ฌผ์ Borg์์ ์ถฉ๋ถํฉ๋๋ค. ๋ฐ๋ผ์ ๋๋ #12450 ๋ผ์ธ์ ๋ฐ๋ผ ๋ฌด์ธ๊ฐ์ ๊ฐํ๊ฒ ๊ธฐ๋๊ณ ์์ง๋ง ํฌ๋ ์์ฒด๋ณด๋ค๋ ํฌ๋ ํ ํ๋ฆฟ์ ์์ต๋๋ค. ์๋ง๋ podTemplate๊ณผ ํจ๊ป persistentVolumeClaimTemplate์ ๋ฐฐ์ด์ผ ๊ฒ์ ๋๋ค. ๋ชจ๋ ํด๋ผ์ฐ๋ ๊ณต๊ธ์๋ณ ๋ณผ๋ฅจ ์์ค์ ๋ํ ๋ฉ์ง ๋์ฒด๋ฅผ ์ถ๊ฐํ๊ณ ์ถ์ง ์์ต๋๋ค. ํนํ ์ด์จ๋ ์ด๋ฌํ ์์ค๋ฅผ ๋ ์ด์ ์ฌ์ฉํ์ง ์๊ธฐ๋ฅผ ์ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. PVC์ ์ถ๊ฐ ์๊ตฌ ์ฌํญ ๋ฐ/๋๋ ์ ํ๊ธฐ๋ฅผ ์ถ๊ฐํ๋ ๊ฒ์ผ๋ก ์ถฉ๋ถํด์ผ ํฉ๋๋ค. ๋ํ ์ด๋ค ์์ ์์ ์ด๋ป๊ฒ๋ ์๊ตฌ ๋ณผ๋ฅจ์ ํ๋ก๋น์ ๋ํ ์ ์์ด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๋ ์ฌ์ ํ ๋ก์ปฌ ์คํ ๋ฆฌ์ง์ ๋ํด ๋ญ๊ฐ๋ฅผ ํด์ผ ํ ๊ฒ์ด์ง๋ง, ๋๋ ๊ทธ๊ฒ์ด ๋ถ๋ฆฌ๋ ์ ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์์ ์ธ๊ธํ ํธ์คํธ ์ด๋ฆ๊ณผ ํค๋๋ฆฌ์ค ์๋น์ค ๋ณ๊ฒฝ ์ฌํญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -133318903
์ง๊ธ ์ ์์๋ฅผ ์์ฑ ์ค์ด๋ฉฐ ๊ณง ์ด์์ด ์์ฑ๋ฉ๋๋ค.
์ ์์ https://github.com/kubernetes/kubernetes/pull/18016 ์
... ๊ทธ๋ผ PetSet์ ์ด๋์ ์์ต๋๊น?
Kubernetes ์์ HA ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฃจ์ ์ ๊ตฌ์ถ ์ค์ ๋๋ค. ์ผ๋ถ, ํนํ ๋จ์ผ ๋ง์คํฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ํด๋น ํฌ๋์ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํน์ ํฌ๋์ ๋งคํ๋๋ ์๋ํฌ์ธํธ๊ฐ ์๋ ์๋น์ค๊ฐ ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด:
@jberkus PetSets ๋ฅผ ํ์ฑํํ๋ ์ด๊ธฐ ์ํ ์ฝ๋๊ฐ ๋ณํฉ๋์๊ฑฐ๋ ๋ณํฉ ๋๊ธฐ ์ค์ ๋๋ค. @ingvagabund ๋ด ํ PetSet์ ๋ฉ์ดํฌ์ ์ฌ์ฉ์ด ์ ์๋ํ๊ณ ์ฌ์ ํ ๊ฐ์ ์ด ํ์ํ ๊ฒ์ ๋ณผ ๊ฒ์ ํจ๊ป ์์ ๋ฅผ ๋ฃ์ด ์์ํ๋ ๊ฒ์ ๋๋ค. ์กฐํฉํ๊ณ ํ ์คํธํ๊ณ ์ถ์ ํน์ ์ฌ์ฉ ์ฌ๋ก๊ฐ ์๋ ๊ฒฝ์ฐ ๊ทธ์๊ฒ ์ฐ๋ฝํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
@ncdc v1.3์์ ๋ชจ๋ ์์ ์ด ์๋ฃ๋์์ต๋๊น? ์ ์์ด ๋ณํฉ๋์ง ์์๊ณ ํ๋์ ์ด๊ฒ์ ์ฐธ์กฐํ๋ ๋ค๋ฅธ PR์ด ์์๊ธฐ ๋๋ฌธ์ ๋ถ๋ช ํํฉ๋๋ค.
@bprashanth ^
์ฐ๋ฆฌ๋ e2es๋ฅผ ์๋ฅํ๊ณ ์์ ์์
์ ๊ณ์ํ๊ณ ์์ต๋๋ค. ์ํ์ ์๋ค
์ง๊ธ์ ์ ์์๊ฐ ์ฒซ ๋ฒ์งธ ์ํ ํผ๋๋ฐฑ์ ๋ฐ์ ๊ฒ์
๋๋ค.
๋ณํฉํ๊ธฐ ์ ์.
2016๋
5์ 19์ผ ์ค์ 10์ 25๋ถ, Brandon Philips [email protected]
์ผ๋ค:
@ncdc https://github.com/ncdc v1.3์์ ๋ชจ๋ ์์
์ด ์๋ฃ๋์์ต๋๊น? ๊ทธ๊ฒ์
์ ์์ด ๋ณํฉ๋์ง ์์๊ณ ๋ค๋ฅธ PR์ด ์์๊ธฐ ๋๋ฌธ์ ๋ถ๋ช
ํํจ
์ ์ ๋์ ์ด๊ฒ์ ์ฐธ์กฐํ์ญ์์ค.
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์
๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ฑฐ๋ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -220340104
์ด์ ๋ํ ๋ฌธ์๋ ์ด๋์์ ์ฐพ์ ์ ์์ต๋๊น? ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฅ์ ์กฐ์น ์ฌ์ฉ ์ฌ๋ก์ ๋ํด ํ ์คํธํ๊ณ ์ถ์ต๋๋ค.
์ํ, ํฌ์คํธ๊ทธ๋ ์ค ์ ๋ฌธ๊ฐ๊ฐ ํ์ํ ๊ฒ์ ๋๋ค :)
์์ ๋ https://github.com/kubernetes/contrib/pull/921 ์ ์ฐธ์กฐ @philips ๋ etcd ์์ ๊ฐ ์ข์ ๊ฒ์ ๋๋ค). ๋๋ ์์ง ๋ฌธ์๋ฅผ ์์ฑํ์ง ์์์ผ๋ฉฐ 1.3์ ๋ง์ง๋ง ๋ช ์ฃผ ๋์ ๋ฌธ์๋ฅผ ์์ฑํ ๊ฒ์ ๋๋ค(๊ธ์์ผ์ ์ฝ๋๊ฐ ์๋ฃ๋ ํ ๋ฆด๋ฆฌ์ค๊น์ง ์ฌ์ ํ 5์ฃผ).
๊ฝค ์ผ๋ฐ์ ์ด๊ธฐ ๋๋ฌธ์ postgres๋ฅผ ์ฌ์ฉํ์ฌ ์ฅ์ ์กฐ์น๋ฅผ ์๋ํํ๋ ค๊ณ ํ ๊ฒ์ด๋ผ๊ณ ์๊ฐํฉ๋๋ค. ๋๋ ํ์ฌ ๊ทธ๊ฒ์ด ๋ด๊ฐ ์ํ๋ ๋งํผ ์ฝ์ง ์๋ค๋ ๊ฒ์ ์ธ์ ํ ๊ฒ์ ๋๋ค. ์๋ง๋ ๊ฐ์์๊ฐ ํ์ํ ๊ฒ์ ๋๋ค. @jberkus ์ด๋ค ํจํด์ด ๊ทธ๊ฒ์ ๋ ์ฝ๊ฒ ๋ง๋๋์ง ํผ๋๋ฐฑ์ ๋ฃ๊ณ ์ถ์ต๋๋ค.
๋น ๋ฅธ ๊ฒํ ๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด ํ์ฌ petset์ ๋คํธ์ํฌ ํ์ฌ ๋ณผ๋ฅจ๊ณผ ์ผ์นํ๋ ์ผ๊ด๋ ๋คํธ์ํฌ ID(DNS, ํธ์คํธ ์ด๋ฆ) ๋ฐ ์ฃผ๋ฌธ ๋ณด์ฅ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ๋ผ์ replicas: 3
๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ ๋๋ฌผ ์ธํธ๋ฅผ ๋ง๋ค๋ฉด ๋ค์์ ์ป์ ์ ์์ต๋๋ค.
๊ด๋ฆฌ ์๋น์ค: *.galear.default.svc.cluster.local
mysql-0 - ๋ณผ๋ฅจ 0
mysql-1 - volume1: 0์ด ์คํ๋๊ณ ์ค๋น๋ ๋๊น์ง ์์๋์ง ์์ต๋๋ค.
mysql-2 - volume2: 0, 1์ด ์ค๋น๋ ๋๊น์ง ์์๋์ง ์์
ํฌ๋๋ ๊ด๋ฆฌ ์๋น์ค์ ์ฝ์ ๋ SRV ๋ ์ฝ๋๋ฅผ ์กฐํํ์ฌ ์๋น์ค ๊ฒ์์ DNS๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด๊ฒ์ด ๋ฐ๋ก ์ด ๊ฐ๋จํ ํฌ๋๊ฐ ํ๋ ์ผ์ ๋๋ค: https://github.com/kubernetes/contrib/pull/921/commits/4425930cea6f45385561313477662d6fb2ee2c62. ๋ฐ๋ผ์ ์์ ์์ ๊ฐ์ด ์ด๊ธฐํ ์ปจํ ์ด๋๋ฅผ ํตํด ํผ์ด ํ์ธ๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๊ธฐํ ์ปจํ ์ด๋๊ฐ DNS์์ (mysql-1, mysql-0)์ ๋ณผ ๋๊น์ง mysql-1์ด ์์๋์ง ์๊ณ ์ ์ ํ ๊ตฌ์ฑ์ ์์ฑํฉ๋๋ค.
๋ณผ๋ฅจ์ ๋์ ํ๋ก๋น์ ๋ ๋๊ตฌ(https://github.com/kubernetes/kubernetes/blob/release-1.2/examples/experimental/persistent-volume-provisioning/README.md)์ ์ํด ํ๋ก๋น์ ๋๋๋ฏ๋ก ๋ณผ๋ฅจ์ด ์๋ ๊ฒฝ์ฐ ํด๋ฌ์คํฐ์์ ์คํ ์ค์ด์ง๋ง ํ๋กํ ํ์ ์ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ๊ฐ๋จํ emptyDir์ ์ฌ์ฉํ ์ ์์ต๋๋ค. "data-gravity"(https://github.com/kubernetes/kubernetes/issues/7562) ์ฌ๋ก๋ ์์ง ์๋ํ์ง ์์ง๋ง ๊ฒฐ๊ตญ ์๋ํฉ๋๋ค.
ํ์ฌ๋ ์ด๊ธฐํ ์ปจํ ์ด๋๋ฅผ ํตํด ํผ์ด ๋ชฉ๋ก๊ณผ ํจ๊ป "์์ ์" ์๋ฆผ์ ์ ๋ฌํ๋ ๊ฒ์ด ๋ ์ฝ๋ค๊ณ ๋ง๋ถ์ ๋๋ค. "๋ณ๊ฒฝ ์" ์๋ฆผ๋ ํ์ํ๋ค๋ ๊ฒ์ด ๋ถ๋ช ํฉ๋๋ค. ํ์ฌ ํด๋ฌ์คํฐ ๋ฉค๋ฒ์ญ ๋ณ๊ฒฝ ์ฌํญ์ ํ์ธํ๋ ค๋ฉด ์ฌ์ฉ์ ์ง์ pid1์ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๊ณต์ pid ๋ค์์คํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ด๋์นด๋ฅผ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์ด ์์ ์ ๋ ์ฝ๊ฒ ์ํํ ์ ์์ต๋๋ค. ์ด ๋ํ ์ ๋๋ก ์๋ํด์ผ ํ๋ ๊ฒ์ ๋๋ค.
๋๋ ๊ฐ์์๊ฐ ์๋๋ฐ, ๋ด๊ฐ ์ํ๋ ๊ฒ๋ณด๋ค ๋ ๋ณต์กํ ์๋น์ค ์ฅ์ ์กฐ์น์ ๋๋ค. ํ ์คํธํ๊ฒ ์ต๋๋ค, ๊ฐ์ฌํฉ๋๋ค!
๋๋ ๋ํ etcd๋ฅผ ์ง์ํด์ผ ํ๋ฏ๋ก ์์ผ๋ก ๋ง์ ํ ์คํธ๊ฐ ์์ ์ ์์ต๋๋ค.
@ncdc ์ด์ ๋ํ ์ํ ์ฝ๋์ ์ํ๋ ๋ฌด์์ ๋๊น? ํ ์คํธ/๊ตฌํ์ ์์ํ๊ณ ์ถ์ต๋๋ค. ์ฌ๊ธฐ์์ ๊ณง ์นด์ฐ๋๋ผ ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํด์ผ ํฉ๋๋ค. ๊ธฐ์กด ์ฝ๋๋ฒ ์ด์ค๋ก ํ ์ ์์ง๋ง petset ํญ๋ชฉ์ ํ ์คํธํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
HEAD์์ ๋น๋ํ๋ฉด ์ป์ ์ ์์ต๋๋ค.
@bprashanth ๊ฐ ๊ธฐ๋ณธ ์ ์ฅ์์ ๋ณํฉ๋์์ต๋๊น? ๊ฐ์ฌํฉ๋๋ค. ํ ๊ฒ์ด๋ค.
์ฃผ์ ๋ฌธ์์ด์ ํฌํจ๋ yaml? ooof, ouch :(. ๊ฐ์ฌํฉ๋๋ค. ์นด์ฐ๋๋ผ ์ธํธ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์กฐ์ฌํ๊ฒ ์ต๋๋ค.
๊ทธ๊ฒ์ json์
๋๋ค. GA ๊ฐ์ฒด(ํฌ๋์ ์ปจํ
์ด๋ ์ด๊ธฐํ)์ ์ถ๊ฐ๋ ์ํ ๊ธฐ๋ฅ์
๋๋ค.
@chrislovecnm ์ Cassandra์์ ์์
์ค์ด๋ฉฐ ๊ทธ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์ถ์ ์๋ ์์ต๋๋ค.
@paralin์ ์ฌ๊ธฐ์์ ๋ด๊ฐ ์์ ํ๊ณ ์๋ ๊ฒ์ ๋๋ค. ์ง๊ธ์ ๋ฌธ์ํํ๊ณ k8 repo์ ์ ์ฅํ ์๊ฐ์ด ์์ง๋ง ์ฅ๊ธฐ์ ๊ณํ์ ๋๋ค. https://github.com/k8s-for-greeks/gpmr/tree/master/pet-race-devops/k8s/cassandra HEAD์์ ๋ก์ปฌ๋ก ์ ๋ฅผ ์ํด ์ผํ๊ณ ์์ต๋๋ค.
๋ฐ๋ชจ์ ์ต์ C* ์ด๋ฏธ์ง๊ฐ ์ ์๋ํฉ๋๋ค.
๋ ๋ง์ ๋ฌธ์๋ฅผ ์ํด ์ด๋ ค ์๋ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ํฌ ์ํฌ ํกํก @bprashanth
etcd ํด๋ฌ์คํฐ๊ฐ ์๋ PetSets์ ์[1].
๊ฒํ ๋ฅผ ๋ง์น ํ ์ ์ ๋ฌธ์์ ๋์์ธ ์์ฒญ์ ์บก์ฒํด์ผ ํฉ๋๋ค.
2016๋ 6์ 30์ผ ์ค์ 1์ 25๋ถ์ Jan Chaloupka [email protected] ์ ๋ค์๊ณผ ๊ฐ์ด ์ผ์ต๋๋ค.
etcd ํด๋ฌ์คํฐ๊ฐ ์๋ PetSets์ ์[1].
[1] kubernetes/contrib#1295
https://github.com/kubernetes/contrib/pull/1295
โ
๋น์ ์ด ์ธ๊ธ๋์๊ธฐ ๋๋ฌธ์ ์ด๊ฒ์ ๋ฐ๋ ๊ฒ์
๋๋ค.
์ด ์ด๋ฉ์ผ์ ์ง์ ๋ต์ฅํ๊ณ GitHub์์ ํ์ธํ์ธ์.
https://github.com/kubernetes/kubernetes/issues/260#issuecomment -229594658,
๋๋ ์ค๋ ๋ ์์๊ฑฐ
https://github.com/notifications/unsubscribe/ABG_pwVgiaLvRKbtcJG9wzMEZcCNgae8ks5qQ32PgaJpZM4CIC6g
.
petset ๋ฌธ์๋ https://github.com/kubernetes/kubernetes.github.io/blob/release-1.3/docs/user-guide/petset.md ๋ฐ https://github.com/kubernetes/kubernetes.github์ ๋๋ค. io/tree/release-1.3/docs/user-guide/petset/bootstrapping , ์ด ๋ฌธ์ ๋ฅผ ๋ซ๊ณ ์๋ฌด๋ ๋ฐ๋ํ์ง ์๋ ํ petset์ ๋ฒ ํ๋ก ์ด๋ํ๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ์ ๋ฌธ์ ๋ฅผ ์ด โโ๊ณํ์ ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์ด์ ๋ํ ๋ฌธ์๋ ์ด๋์์ ์ฐพ์ ์ ์์ต๋๊น? ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฅ์ ์กฐ์น ์ฌ์ฉ ์ฌ๋ก์ ๋ํด ํ ์คํธํ๊ณ ์ถ์ต๋๋ค.