Kubernetes: PetSet(๋ช…๋ชฉ ์„œ๋น„์Šค)

์— ๋งŒ๋“  2014๋…„ 06์›” 27์ผ  ยท  160์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: kubernetes/kubernetes

@smarterclayton ์€ #199์—์„œ ์ด ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. Kubernetes๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ๋˜์ง€ ์•Š์€ ์„œ๋น„์Šค ๋ฐ/๋˜๋Š” ์ƒํƒœ ์ €์žฅ ์„œ๋น„์Šค๋ฅผ ์–ด๋–ป๊ฒŒ ์ง€์›ํ•ด์•ผ ํ•˜๋‚˜์š”? ํŠนํžˆ Zookeeper๊ฐ€ ๊ทธ ์˜ˆ์˜€์Šต๋‹ˆ๋‹ค.

Zookeeper(๋˜๋Š” etcd)๋Š” 3๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ๋ฌธ์ œ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

  1. ํด๋ผ์ด์–ธํŠธ๊ฐ€ ๋ฌธ์˜ํ•ด์•ผ ํ•˜๋Š” ์ธ์Šคํ„ด์Šค ์‹๋ณ„
  2. ๋™๋ฃŒ ์‹๋ณ„
  3. ์ƒํƒœ ์ €์žฅ ์ธ์Šคํ„ด์Šค

๋˜ํ•œ ์ผ๋ฐ˜์ ์œผ๋กœ ๋™์ผํ•œ ๋ฌธ์ œ๋ฅผ ๊ณต์œ ํ•˜๊ณ  ์„ ํƒ๋œ ๋งˆ์Šคํ„ฐ๋ฅผ ํด๋ผ์ด์–ธํŠธ์— ๊ด‘๊ณ ํ•ด์•ผ ํ•˜๋Š” ๋‹ค๋ฅธ ๋ณต์ œ๋œ ์„œ๋น„์Šค์— ๋Œ€ํ•œ ๋งˆ์Šคํ„ฐ ์„ ํƒ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

areapi aredownward-api arestateful-apps kindesign kindocumentation prioritimportant-soon sinetwork

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

์ด์— ๋Œ€ํ•œ ๋ฌธ์„œ๋Š” ์–ด๋””์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์žฅ์•  ์กฐ์น˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์— ๋Œ€ํ•ด ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  160 ๋Œ“๊ธ€

๋‹ค๋ฅธ ์œ ํ˜•์˜ ์„œ๋น„์Šค์™€ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์„œ๋น„์Šค ์ด๋ฆ„์„ lbservice ๋˜๋Š” ๊ธฐํƒ€๋กœ ๋ณ€๊ฒฝํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ ์ผํ™˜์œผ๋กœ ํ•ต์‹ฌ apiserver์—์„œ ์„œ๋น„์Šค ๊ฐœ์ฒด๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  HAProxy ๋ฐ nginx์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ์˜ ์‚ฌ์šฉ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋น„์Šค์˜ ๋…ผ๋ฆฌ์  ์ •์˜(์ฟผ๋ฆฌ ๋ฐ/๋˜๋Š” ์ „์—ญ ์ด๋ฆ„)๊ฐ€ ์—ฌ๋Ÿฌ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ/ํŠนํ™”๋  ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ข‹์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ธํ”„๋ผ๋ฅผ ํ†ตํ•ด ์„ค์น˜๋œ ๋‹จ์ˆœํ•œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ, nginx์™€ ๊ฐ™์€ ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์™„์ „ํ•œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ๋˜๋Š” ์ธํ”„๋ผ์—์„œ ์ œ๊ณตํ•˜๋Š” haproxy๋Š” ํ†ตํ•ฉ์ž๊ฐ€ ํด๋ง/๋Œ€๊ธฐํ•  ์ˆ˜ ์žˆ๋Š” ์ฟผ๋ฆฌ ๊ฐ€๋Šฅํ•œ ๋์ (GET /services/foo -> { endpoints: [{host, port}, ...] }) ๋˜๋Š” ํ˜ธ์ŠคํŠธ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋กœ์ปฌ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ๋ถ„๋ช…ํžˆ ์ด๋“ค์€ ์—ฌ๋Ÿฌ ๋‹ค๋ฅธ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ๋  ์ˆ˜ ์žˆ๊ณ  ์ž์ฒด ๋ฆฌ์†Œ์Šค๋กœ ๋ถ„ํ• ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฉ”์ปค๋‹ˆ์ฆ˜๊ณผ ๊ตฌ๋ณ„๋˜๋Š” ์˜๋„(lb ์•„๋ž˜ ํ†ตํ•ฉ)๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐ์„ฑ์ด ์žˆ์œผ๋ฉด ๊ด‘๋ฒ”์œ„ํ•œ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋” ์‰ฝ๊ฒŒ ์ถฉ์กฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@smarterclayton ์ •์ฑ…๊ณผ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ:

  1. ๋ ˆ์ด๋ธ” ์„ ํƒ๊ธฐ๋กœ ์‹๋ณ„๋œ ์„ธํŠธ๋ฅผ ํด๋ง/์‹œ์ฒญํ•˜๋Š” ๊ธฐ๋Šฅ. ์•„์ง ์ œ๊ธฐ๋œ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  2. ํฌ๋“œ IP ์ฃผ์†Œ๋ฅผ ์ฟผ๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ(#385).

์ด๊ฒƒ์€ ๋‹ค๋ฅธ ์ด๋ฆ„ ์ง€์ •/๊ฒ€์ƒ‰ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋ฐ/๋˜๋Š” ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋กœ ๊ตฌ์„ฑํ•˜๊ธฐ์— ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ผ๋ฐ˜์ ์ธ ํŒจํ„ด์„ ๊ฐ„๋‹จํ•œ 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 ์˜ˆ์ œ์˜ ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • ๋ณต์ œ ์ปจํŠธ๋กค๋Ÿฌ ์นด๋””๋„๋ฆฌํ‹ฐ 1:1 ํฌ๋“œ, ์•ˆ์ •์ ์ธ ์Šคํ† ๋ฆฌ์ง€ ๋ณผ๋ฅจ A๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š”
  • ๋ณต์ œ ์ปจํŠธ๋กค๋Ÿฌ ์นด๋””๋„๋ฆฌํ‹ฐ 2: ์•ˆ์ •์ ์ธ ์Šคํ† ๋ฆฌ์ง€ ๋ณผ๋ฅจ B๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” 1๊ฐœ์˜ ํฌ๋“œ
  • ๋ณต์ œ ์ปจํŠธ๋กค๋Ÿฌ ์นด๋””๋„๋ฆฌํ‹ฐ 3: ์•ˆ์ •์ ์ธ ์Šคํ† ๋ฆฌ์ง€ ๋ณผ๋ฅจ C๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” 1๊ฐœ์˜ ํฌ๋“œ
  • ํฌ๋“œ๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๊ธฐ๋ณธ ์„œ๋น„์Šค '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์— ๋”ฐ๋ฅธ ๋‚ด๊ตฌ์„ฑ ๋ฐ์ดํ„ฐ์˜ ๊ฒฝ์šฐ:

  1. ๋‚ด๊ตฌ์„ฑ ์žˆ๋Š” ํฌ๋“œ์˜ ๊ฒฝ์šฐ ์ด ์ œ์•ˆ์ด ์ œ๋Œ€๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ตฌ์„ฑ ํฌ๋“œ์— ๋Œ€ํ•œ ํ• ๋‹น์€ ์•ˆ์ •์ ์ž…๋‹ˆ๋‹ค.
  2. ๋ณ„๋„์˜ ๋ฐ์ดํ„ฐ ๊ฐœ์ฒด์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์„œ๋น„์Šค๋Š” ๋ฐ์ดํ„ฐ ๊ฐœ์ฒด์— ๋Œ€ํ•œ ์—ญํ•  ํ• ๋‹น๋„ ๊ด€๋ฆฌํ•ด์•ผ ํ•˜๋ฉฐ ๋ฐ์ดํ„ฐ์™€ ์ผ์น˜ํ•  ๋•Œ๊นŒ์ง€ ํฌ๋“œ์— ๋Œ€ํ•œ ์—ญํ•  ํ• ๋‹น์„ ์—ฐ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ๊ฐ„๋‹จํ•  ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

/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

๋‚ด๊ฐ€ ๋ณด๋Š” ๋‘ ๊ฐ€์ง€ ๋ฌธ์ œ:

  1. ์—ญํ•  ํ• ๋‹น์—๋Š” ํฌ๋“œ๋‹น ์ตœ์†Œํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋˜๋Š” ๋ณผ๋ฅจ ์„ค์ • ์„ค์ •์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค(์ฆ‰, ์ฒซ ๋ฒˆ์งธ ํฌ๋“œ๋Š” ๋ณผ๋ฅจ a๋ฅผ ๊ฐ€์ ธ์™€์•ผ ํ•˜๊ณ , ์‚ญ์ œ๋œ ๊ฒฝ์šฐ ๊ต์ฒดํ•˜๋ ค๋ฉด ๋™์ผํ•œ ๋ณผ๋ฅจ์ด ํ•„์š”ํ•จ).
  2. ๋ช…๋ชฉ ์„œ๋น„์Šค์˜ ํฌ๋“œ๊ฐ€ ๋‹จ์ผ repl ์ปจํŠธ๋กค๋Ÿฌ์—์„œ ์ œ๊ณต๋˜๋Š” ๊ฒฝ์šฐ ํ…œํ”Œ๋ฆฟ์€ ์ƒ์„ฑ ํ›„ ํฌ๋“œ๊ฐ€ ๋ฐ”์ธ๋”ฉ๋˜๊ธฐ ์ „์— ์ˆ˜์ •๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์—ญํ•  ํ• ๋‹น์ด ์›Œํฌํ”Œ๋กœ ๋‹จ๊ณ„๋กœ 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์˜ ๊ฒฝ์šฐ)์€ ์˜ค๋Š˜๋‚  ๋Œ€๋ถ€๋ถ„์˜ ํด๋Ÿฌ์Šคํ„ฐํ˜• ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ๋‹ค์Œ์„ ๊ธฐ๋Œ€ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ๊ฐ ๋…ธ๋“œ์—๋Š” ์•ˆ์ •์ ์ธ 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์‹œ 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์˜ ๊ฐ ์š”์†Œ๋Š”
๋ฐฐ์ •๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ํ† ํฐ์ด ์ฃผ์–ด์ง€๋ฉด ๋‹ค๋ฅธ ๊ฒƒ์ด ํ• ๋‹น๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • VIP, PD, ์ผ๋ฐ˜ ์ธ๋ฑ์Šค ๋“ฑ ์ข‹์€ ์ ์€ ํฌ๋“œ๊ฐ€
    ์ฃฝ์œผ๋ฉด ํ† ํฐ์ด ํ’€๋กœ ๋ฐ˜ํ™˜๋˜๊ณ  ํ•ด๋‹น ํฌ๋“œ๊ฐ€ ๊ต์ฒด๋  ๋•Œ
    ํ•ด๋‹น ํ† ํฐ์€ ์žฌ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” "์ž„์˜ ํ† ํฐ"์„
์˜๋ฏธ์žˆ๋Š” ๊ฒƒ.

๊ฐœ๋ณ„ 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).

  1. ๋‹จ์ผ ๋˜๋Š” ๋ช…๋ชฉ ์ง‘ํ•ฉ์˜ ์ผ๋ถ€์ผ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ณ„ ํฌ๋“œ์— ๋„คํŠธ์›Œํฌ ID(DNS ์ด๋ฆ„ ๋ฐ/๋˜๋Š” IP ์ฃผ์†Œ)๋ฅผ ์–ด๋–ป๊ฒŒ ํ• ๋‹นํ•ฉ๋‹ˆ๊นŒ?
  2. ํŒŒ๋“œ ๋‚ด์˜ ์ปจํ…Œ์ด๋„ˆ์— ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ „๋‹ฌํ•  ๊ฒƒ์ธ๊ฐ€?

ํ–‰์•„์›ƒ์„ ์˜ˆ์•ฝํ•ด์•ผ ํ• ๊นŒ์š”, ์•„๋‹ˆ๋ฉด ์ฃผ๊ฐ„ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ–‰์•„์›ƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”?

๋˜ํ•œ 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).

  1. ๋„คํŠธ์›Œํฌ ID(DNS ์ด๋ฆ„ ๋ฐ/๋˜๋Š” IP ์ฃผ์†Œ)๋ฅผ ํ• ๋‹นํ•˜๋Š” ๋ฐฉ๋ฒ•
    ์‹ฑ๊ธ€ํ†ค ๋˜๋Š” ๋ช…๋ชฉ ์ง‘ํ•ฉ์˜ ์ผ๋ถ€์ผ ์ˆ˜ ์žˆ๋Š” ๊ฐœ๋ณ„ ํฌ๋“œ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
  2. ํŒŒ๋“œ ๋‚ด์˜ ์ปจํ…Œ์ด๋„ˆ์— ์•„์ด๋ดํ‹ฐํ‹ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ์ „๋‹ฌํ•  ๊ฒƒ์ธ๊ฐ€?

ํ–‰์•„์›ƒ์„ ์˜ˆ์•ฝํ•ด์•ผ ํ• ๊นŒ์š”, ์•„๋‹ˆ๋ฉด ์ฃผ๊ฐ„ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ–‰์•„์›ƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ• ๊นŒ์š”?


์ด ์ด๋ฉ”์ผ์— ์ง์ ‘ ๋‹ต์žฅํ•˜๊ฑฐ๋‚˜ 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) ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•ด ์™”์œผ๋ฉฐ ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ์›Œํฌ๋กœ๋“œ์— ํ•„์š”ํ•œ ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€๋Š” ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค.

  • "shard"(๋™์ผํ•˜์ง€ ์•Š์€ ๋ณต์ œ๋ณธ) ์„ธํŠธ ์ค‘ ํ•˜๋‚˜๊ฐ€ ํ˜„์žฌ ํฌ๋“œ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์•ˆ์ •์ ์ธ ์‹๋ณ„์ž์ž…๋‹ˆ๋‹ค(borg์—์„œ๋Š” "์ž‘์—… ๋ฒˆํ˜ธ" - ๋‹จ์ˆœ ์ •์ˆ˜). ์ด ์‹๋ณ„์ž๋Š” ํฌ๋“œ ์ผ์ • ๋ณ€๊ฒฝ/๋‹ค์‹œ ์‹œ์ž‘ ์‹œ ์ผ์ •ํ•˜๊ฒŒ ์œ ์ง€๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ๋“  ์•ˆ์ •์ ์ธ ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  "ํ”ผ์–ด" ์ƒค๋“œ๋ฅผ ์—ด๊ฑฐํ•˜๊ณ  ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•(borg์—์„œ๋Š” ์ž‘์—… ๋ฒˆํ˜ธ์™€ ํ•จ๊ป˜ ํ†ตํ†ตํ•œ ์ ‘๋‘์‚ฌ)

.. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ : ๊ฐ ์ƒค๋“œ์— ๋Œ€ํ•ด ๋ฆฌ์†Œ์Šค ์ œ์™ธ๊ฐ€ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ ์˜ค๋ฅ˜/์žฌ์‹œ์ž‘ ์ค‘์— ํŒŒ๋“œ ์ˆ˜๋ช…์ด ๊ฒน์น  ๊ฐ€๋Šฅ์„ฑ์ด ํ•ญ์ƒ ์žˆ์œผ๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์ž์ฒด ๋ถ„์‚ฐ ์ž ๊ธˆ์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์•„๋งˆ๋„ ์ƒค๋“œ ์‹๋ณ„์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” etcd ์ž ๊ธˆ ์‚ฌ์šฉ). ์ž ์žฌ์ ์ธ ์ด๊ตญ์ ์ธ ๊ธฐ๋Šฅ ํ™•์žฅ์€ ์ค‘๋ณต/๋กœ๋“œ๋ฅผ ์œ„ํ•ด ๊ฐ ์ƒค๋“œ ๋‚ด์—์„œ ๋‘˜ ์ด์ƒ์˜ ๋™์ผํ•œ ๋ณต์ œ๋ณธ์„ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ๊ฐ ์ƒค๋“œ์— ๋Œ€ํ•ด ๊ณ ์œ ํ•œ ์„œ๋น„์Šค/ํฌํŠธ๋ฅผ ์ƒ์„ฑํ•˜๊ณ  replicas:1 ๋กœ ๋ณต์ œ ์ปจํŠธ๋กค๋Ÿฌ๋ฅผ ์‹คํ–‰ํ•˜์—ฌ ์ง€๊ธˆ ์œ„์กฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด์™€ ๊ฐ™์ด "์ˆ˜๋™์œผ๋กœ" ๋งŽ์€ ์ˆ˜์˜ ์ƒค๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ์•ฝ๊ฐ„ ์„œํˆฌ๋ฆ…๋‹ˆ๋‹ค.

Kubernetes์—์„œ ์ด๊ฒƒ์„ ๊ตฌํ˜„ํ•˜๋Š” ์ž์—ฐ์Šค๋Ÿฌ์šด ๋ฐฉ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํŒŒ๋“œ๋Š” ์ž์ฒด ์ƒค๋“œ ์ธ๋ฑ์Šค(์ •์ˆ˜)์™€ ์ƒค๋“œ์˜ ์ด ์ˆ˜๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ถ”๊ฐ€ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค(๋˜๋Š” ํ•˜ํ–ฅ API๋ฅผ ํ†ตํ•ด ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?).
  • ReplicationController๋Š” "shards" ์ˆ˜(๊ธฐ๋ณธ๊ฐ’: 1)๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  "replicas"๋Š” "replicas within each shard"(๊ธฐ๋ณธ๊ฐ’: 1)๋ฅผ ์˜๋ฏธํ•˜๋„๋ก ์žฌํ•ด์„๋ฉ๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ ์„ธํŠธ๋ฅผ ์ถ•์†Œํ•  ๋•Œ ๋์—์„œ ์ข…๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(์ƒค๋“œ ์ธ๋ฑ์Šค๋ฅผ ์—ฐ์†์ ์œผ๋กœ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด). "์ƒค๋“œ"๋ฅผ ๋ณ€๊ฒฝํ•˜๋ ค๋ฉด "์ด ์ƒค๋“œ" ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ธฐ ์œ„ํ•ด ์ œ์–ด๋œ ํฌ๋“œ๋ฅผ ๊ณ„์†ํ•ด์„œ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์„œ๋น„์Šค๋Š” ์ธ์ ‘ํ•œ ํฌํŠธ ๋ฒ”์œ„๋ฅผ ์ผ๋ฐ˜ ์„ ํƒ๊ธฐ์™€ ์•”์‹œ์  "์ƒค๋“œ ์ธ๋ฑ์Šค" ์„ ํƒ๊ธฐ์— ๋งคํ•‘ํ•˜๋Š” ์œ ์‚ฌํ•œ "์ƒค๋“œ" ์ˆ˜๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.
  • Pod๋Š” SERVICE_PORT(๋˜๋Š” ์ผ๋ถ€ ์ƒˆ๋กœ์šด env var?) + ์ƒค๋“œ ์ธ๋ฑ์Šค ์˜คํ”„์…‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ์ƒค๋“œ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์˜ ๋‚ด์šฉ์€ shards=1์ผ ๋•Œ ํ˜„์žฌ ๋™์ž‘์œผ๋กœ ์ •์ƒ์ ์œผ๋กœ ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๊ฒƒ์— ๋™์˜ํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์ด ๋งํ–ˆ๋“ฏ์ด, ๊ทธ๊ฒƒ์€ Borg์—์„œ ์‹œ๊ฐ„์˜ ํ…Œ์ŠคํŠธ๋ฅผ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค), ๋น„๋ก ๋‚˜๋Š” ์ƒค๋“œ๋‹น ์—ฌ๋Ÿฌ ๋ณต์ œ๋ณธ์˜ "์ด๊ตญ์ ์ธ ๊ธฐ๋Šฅ ํ™•์žฅ"์„ ์‚ฌ์šฉํ•˜์ง€ ๋ง๋ผ๊ณ  ์กฐ์–ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค(๋น„๋ก ์šฐ๋ฆฌ๋Š” ์•„๋ž˜์—์„œ ์ด์™€ ๊ฐ™์€ ๊ฒƒ์ด ํ•„์š”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ปค๋ฒ„).

์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ด๊ฒƒ์€ ์ •์  ์ž‘์—… ํ• ๋‹น์ด ์žˆ๋Š” ์ผ๊ด„ ์ž‘์—…์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์ž‘์—…๊ณผ ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ด€๋ จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค(์—ฌ๊ธฐ์—์„œ "์œ ํ˜• 1"์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ฒƒ: https://github.com/GoogleCloudPlatform/kubernetes/issues/1624#issuecomment -97622142)

RC๋ฅผ ๋ณ€๊ฒฝํ•œ ๊ฒฝ์šฐ(๋˜๋Š” ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ๊ฒฝ์šฐ) ์กฐ์ •ํ•ด์•ผ ํ•˜๋Š” ๋‹ค๋ฅธ ๊ธฐ๋Šฅ์€ ๋ฐฐํฌ๊ฐ€ ์ ํ•ฉํ•œ ๋ฐฉ์‹, ํŠนํžˆ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋กค๋ง ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

  1. ์ผ๋ฐ˜ RC
  2. PerNodeController
  3. ์ƒค๋”ฉ๋œ RC
  4. ์ผ๊ด„ ์ž‘์—…?

๋‹จ์ˆœํ•œ 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๊ฐ€์ง€ ๋Œ€์•ˆ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ํ• ๋‹น์„ ํŠน๋ณ„ํ•œ ์ข…๋ฅ˜์˜ ์„œ๋น„์Šค์™€ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์„œ๋น„์Šค์—๋Š” ์ •ํ™•ํ•œ ๋ฒ”์œ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. (์šฐ๋ฆฌ๋Š” ๊ฒฐ๊ตญ ์ง€์—ญ ์„œ๋น„์Šค๋„ ํ•„์š”ํ•˜๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.) ์ด๊ฒƒ์€ ์ผ์ข…์˜ ์ผ๋ฐ˜ ์„œ๋น„์Šค์™€ ํ—ค๋“œ๋ฆฌ์Šค ์„œ๋น„์Šค ๊ฐ„์˜ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ์ž…๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ์ฒ˜์Œ์— ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ์•ˆํ–ˆ์„ ๋•Œ ๊ตฌ์ƒํ–ˆ๋˜ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ• ๋‹น์€ Endpoints์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ์—”๋“œํฌ์ธํŠธ ๋ฐ/๋˜๋Š” ํ—ค๋“œ๋ฆฌ์Šคํ˜• DNS๋Š” ๋ชจ๋“  ํ”ผ์–ด๋ฅผ ์—ด๊ฑฐํ•˜๋Š” ํ™•์‹คํ•œ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.
  2. Service์™€ ์œ ์‚ฌํ•˜์ง€๋งŒ ๋ช…๋ชฉ ์„œ๋น„์Šค๋งŒ์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ๊ฐœ์ฒด๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ํ• ๋‹น์„ ๊ธฐ๋กํ•˜๋ ค๋ฉด ์ƒˆ ๊ฐœ์ฒด๋„ ํ•„์š”ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด API ํ‘œ๋ฉด์ด ๋ถˆํ•„์š”ํ•˜๊ฒŒ ํ™•์žฅ๋ฉ๋‹ˆ๋‹ค(IMO).
  3. '๋ฐ€๋‹ค'๊ฐ€ ์•„๋‹ˆ๋ผ '๋‹น๊ธด๋‹ค'. Pod๋Š” ๋…ธ๋“œ ์ œ์•ฝ ์กฐ๊ฑด(์„ ํƒ๊ธฐ) ๋˜๋Š” ์ œ์•ˆ๋œ ๋ฐ˜์„ ํ˜ธ๋„ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ค‘ ํ•˜๋‚˜(https://github.com/GoogleCloudPlatform/kubernetes/issues/4301#issuecomment-74355529)๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ ๋ช…์‹œ์  ์ปจํŠธ๋กค๋Ÿฌ ์—†์ด ํ˜ธ์ŠคํŠธํ•˜๋„๋ก ์˜ˆ์•ฝ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋น„์Šค VIP ํ• ๋‹น๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ช…๋ชฉ ์„œ๋น„์Šค์— ๋Œ€ํ•ด ๋น„์Šทํ•œ ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ๋“œ(๋˜๋Š” ํฌ๋“œ ํ…œํ”Œ๋ฆฟ)๋Š” ์ธ๋ฑ์Šค๋ฅผ ํ• ๋‹นํ•˜๋ ค๋Š” ์ธ๋ฑ์Šค ํ’€์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์„œ๋น„์Šค์™€ ๋‹ฌ๋ฆฌ ํฌ๋“œ์— ์„œ๋กœ ๋‹ค๋ฅธ ํ’€์˜ ์—ฌ๋Ÿฌ ์ธ๋ฑ์Šค๋ฅผ ํ• ๋‹นํ•  ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ํ• ๋‹น์€ ํฌ๋“œ ์‚ฌ์–‘์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.
  4. ์žฅ์ : ์‚ฌ์šฉ์ž์—๊ฒŒ ๋” ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฐœ์ฒด๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ํ• ๋‹นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. ๋‹จ์ : ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ์„œ๋น„์Šค์™€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

PVC ํ• ๋‹น์€ ์ด์ƒ์ ์œผ๋กœ๋Š” ๋™์ผํ•œ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

ํฌ๋“œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ #3949๊ฐ€ ์–ด๋–ป๊ฒŒ ์กฐ์ •๋  ๊ฒƒ์ธ์ง€๋„ ๊ณ ๋ คํ•ด ๋ณผ ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปจํ…Œ์ด๋„ˆ ์ƒํƒœ๋ฅผ ์ „์†กํ•˜๊ธฐ ์œ„ํ•ด ๊ต์ฒด๋˜๋Š” ํฌ๋“œ๋ฅผ ์‚ญ์ œํ•˜๊ธฐ ์ „์— ๊ต์ฒด ํฌ๋“œ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(MUST). ์ด๊ฒƒ์€ ํ’€ ๋ชจ๋ธ์„ ์•ฝ๊ฐ„ ๋ฌธ์ œ๊ฐ€ ๋˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ํ• ๋‹น ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ธ์‹ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐํƒ€ ๊ณ ๋ ค ์‚ฌํ•ญ:

  1. ์ธ๋ฑ์Šค/ID๋ฅผ ํ”ผ์–ด์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•. DNS๋Š” ๋ถ„๋ช…ํ•œ ๋‹ต์ž…๋‹ˆ๋‹ค.
  2. ํฌ๋“œ์˜ ์ปจํ…Œ์ด๋„ˆ์— ์ธ๋ฑ์Šค/ID๋ฅผ ์ „๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ํ™˜๊ฒฝ ๋ณ€์ˆ˜, ์—ญ DNS, ... ํ• ๋‹น๋œ ์ธ๋ฑ์Šค๋Š” ๋™์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์ง€๋งŒ ํฌ๋“œ๊ฐ€ ์—ฌ์ „ํžˆ ์กด์žฌํ•˜๋Š” ๋™์•ˆ DNS ๋ฐ”์ธ๋”ฉ์ด ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ด๋ฏธ ๋‹ค๋ฅธ ํ™˜๊ฒฝ์—์„œ ์ž‘๋™ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์„ ํƒํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋” ๊ด‘๋ฒ”์œ„ํ•œ ํ•˜ํ–ฅ API ๋…ผ์˜(#386)์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ Kubernetes ํŠน์ • ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๊ฒฐํ•ฉํ•˜๊ณ  ์‹ถ์ง€ ์•Š์ง€๋งŒ ์ƒˆ๋กœ์šด EnvVarSource env var ๋Œ€์ฒด(#7936)๋Š” ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” ๋‹น์‹ ์ด ๋งํ•œ ๊ฒƒ ์ค‘ ์ผ๋ถ€์— ๋™์˜ํ•˜์ง€ ์•Š์ง€๋งŒ 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

์•ฝ๊ฐ„์˜ ํ‚ฅ์„ ์ฃผ๊ธฐ ์œ„ํ•ด:

ํ•ด๊ฒฐํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ๊ทผ๋ณธ์ ์ธ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์ผ๋ถ€ ๊ตฌ์„ฑ ์š”์†Œ์—๋Š” ๋””์Šคํฌ์˜ ์ €์žฅ์†Œ์— ์—ฐ๊ฒฐ๋œ ํฌ๋“œ๋‹น ๊ณ ์œ  ID๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    1. ์ถ”๊ฐ€ ์ฃผ๋ฆ„์œผ๋กœ, ๊ทธ ์ค‘ ์ผ๋ถ€(๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์‚ฌ์œก์‚ฌ)์—๋Š” ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์ด ํ•ด์„ ๊ฐ€๋Šฅํ•˜๊ณ  ์ผ์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  2. ํ™•์žฅ๋œ ์ผ๋ถ€ ๊ตฌ์„ฑ ์š”์†Œ์—๋Š” ํฌ๋“œ๋ณ„๋กœ ๋‹ค๋ฅธ ์˜๊ตฌ ์ €์žฅ์†Œ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค(ํฌ๋“œ๋Š” ํฌ๋“œ๋ณ„๋กœ ๋‹ค๋ฅธ PVC๋ฅผ ๊ฐ€๋ฆฌํ‚ค๊ณ  ID์— ๋‹ค์‹œ ์—ฐ๊ฒฐ๋จ).

    1. ๋•Œ๋•Œ๋กœ ์ด๋Ÿฌํ•œ ๋ณผ๋ฅจ์€ ํ™•์žฅ ์‹œ ํ•„์š”์— ๋”ฐ๋ผ ์ƒ์„ฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

    2. ๋•Œ๋•Œ๋กœ ํ•ด๋‹น ๋ณผ๋ฅจ์€ ํ’€์—์„œ ์žฌ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•˜๋ฉฐ ๋‹ค์‹œ ์ƒ์„ฑ๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  3. ์ผ๋ถ€ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ํ• ๋‹น๋œ ๊ฐœ๋ณ„ ID๋ฅผ ์ถ”์ ํ•˜๋Š” ๊ฒƒ์ด ๋น„์‹ค์šฉ์ ์ธ ๊ฒฝ์šฐ ์ˆ˜๋งŒ ๊ฐœ์˜ ์ธ์Šคํ„ด์Šค๋กœ ํ™•์žฅ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    1. ๋ช…๋ชฉ์— ๋Œ€ํ•œ ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์€ ์•„๋งˆ๋„ ํฌ๋“œ์˜ 2-7๊ฐœ ์ธ์Šคํ„ด์Šค ์‚ฌ์ด์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค(๊ฐ€์žฅ ์ตœ๊ทผ์˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ DB, ๋Œ€๋ถ€๋ถ„์˜ ์ƒค๋”ฉ๋œ ๋‹ค์ค‘ ๋งˆ์Šคํ„ฐ ์„ค์ •)

  4. ์ผ๋ถ€ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ์ž์ฒด ๋งˆ์Šคํ„ฐ ์„ ํƒ์„ ๊ตฌํ˜„ํ•  ํ•„์š”๊ฐ€ ์—†์ง€๋งŒ ID ์ค‘ ํ•˜๋‚˜๋ฅผ ์ž„์˜์ ์œผ๋กœ ๋งŒ๋“ค์–ด ํ”Œ๋žซํผ์—์„œ ๊ด€๋ฆฌํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค(ID 1์ด ๋งˆ์Šคํ„ฐ๊ฐ€ ๋จ).
  5. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ๋•Œ ์‚ฌ์šฉ์ž๋Š” ์—ฌ์ „ํžˆ ํฌ๋“œ์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋กค์•„์›ƒ(๋ฐฐํฌ๋ฅผ ํ†ตํ•ด)ํ•˜๊ณ  ๋ชจ๋“  ID๊ฐ€ ๋ณด์กด๋˜๊ฑฐ๋‚˜ ์žฌํ• ๋‹น๋˜๋„๋ก ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๋ชจ๋“  ๊ฒƒ์ด ๋ฐ˜๋“œ์‹œ ๋™์ผํ•œ ์†”๋ฃจ์…˜์—์„œ ํ•ด๊ฒฐ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์†Œ๊ทœ๋ชจ ํด๋Ÿฌ์Šคํ„ฐ 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์—์„œ ๋” ์ผ๋ฐ˜์ ์œผ๋กœ ๋…ผ์˜๋ฉ๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์ •๋ง๋กœ "์„œ๋น„์Šค"์ธ์ง€ ์•„๋‹Œ์ง€์— ๊ด€ํ•˜์—ฌ:

  • Pod ์ง‘ํ•ฉ์— ๊ฑธ์ณ ํ• ๋‹นํ•ด์•ผ ํ•˜๋Š” ํ•ญ๋ชฉ
  • ์‚ฌ๋ฌผ(์˜ˆ: DNS ์ด๋ฆ„)์€ ๋ณธ์งˆ์ ์œผ๋กœ ํฌ๋“œ์˜ ๋ฆฌ์†Œ์Šค ์ด๋ฆ„์— ์—ฐ๊ฒฐ๋˜์–ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
  • ํ•œ ํฌ๋“œ์—์„œ ๋‹ค๋ฅธ ํฌ๋“œ๋กœ ๋ฌผ๊ฑด์„ ์ „์†กํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ํฌ๋“œ๋Š” ํ• ๋‹น๋œ ํ•ญ๋ชฉ(ํŠนํžˆ DNS ์ด๋ฆ„ ๋ฐ VIP)์„ "์•Œ์•„์•ผ"(๋˜๋Š” ํ•˜ํ–ฅ API๋ฅผ ํ†ตํ•ด ์•Œ์•„๋‚ผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•จ)ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์šฐ๋ฆฌ๊ฐ€ ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ํ•œ ๊ฐ€์ง€๋Š” ํ™•์ธ ๊ฐ€๋Šฅํ•œ DNS์ž…๋‹ˆ๋‹ค.
  • ์šฐ๋ฆฌ์—๊ฒŒ VIP๊ฐ€ ํ•„์š”ํ•œ์ง€ ์—ฌ๋ถ€๋Š” ์ €์˜ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์งˆ๋ฌธ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” VIP ์•ˆ์“ฐ๋Š”๊ฒŒ ์ข‹์Šต๋‹ˆ๋‹ค.
  • ์ด์ƒ์ ์ด์ง€๋Š” ์•Š์ง€๋งŒ ์‚ฌ์šฉ์ž๋Š” DNS ๋ฐ/๋˜๋Š” ๋์ ์„ ํ†ตํ•œ ํ”ผ์–ด ๊ฒ€์ƒ‰์„ ์œ„ํ•ด ์ „์ฒด ์„ธํŠธ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•˜๋Š” ๋‘ ๋ฒˆ์งธ ํ—ค๋“œ๋ฆฌ์Šค ์„œ๋น„์Šค๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„์ด๋””์–ด (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 ์ด ์•”์‹œํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ์ œ ์ƒ๊ฐ์—๋Š”
์—ฌ๊ธฐ์— ์œ ์‚ฌํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ช‡ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์„ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ํ†ตํ•ฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” k8 ์ˆ˜์ค€์—์„œ ์—„๊ฒฉํ•˜๊ฒŒ ํ•„์š”ํ•œ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์ด ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„์—์„œ ์„ค๋ช…ํ•œ ๋‘ ๊ฐ€์ง€ ๋งค์šฐ ๋‹ค๋ฅธ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์†Œ์Šค์— ๋”ฐ๋ผ ๋‹ค๋ฆ„
์ง„์‹ค์˜:

_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

์šฐ๋ฆฌ๋Š” ์˜ค๋Š˜ ๊ฐ„๋‹จํ•œ ์ฑ„ํŒ…์„ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์•ฑ์˜ ์„ธ ๊ฐ€์ง€ ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์ƒํƒœ ๋น„์ €์žฅ ์›น ์•ฑ์ธ ์•ฑ(RC์—์„œ๋งŒ ์ž‘๋™)
  • ์™ธ๋ถ€ ๋งˆ์Šคํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๊ธฐ์กด ์ผ๊ด€์„ฑ์ด ์žˆ๋Š” ๊ฑฐ๋Œ€ํ•œ ๊ทœ๋ชจ์˜ ์•ฑ
    ํ•ฉ์˜๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœํ† ์ฝœ(Cassandra, Infiniband)
  • Mongodb, rethinkdb, volt ๋“ฑ๊ณผ ๊ฐ™์€ ์†Œ๊ทœ๋ชจ ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ ์ €์žฅ ์†Œํ”„ํŠธ์›จ์–ด,
    ์ž˜ ์ž‘๋™ํ•˜๋ ค๋ฉด ๋ช‡ ๊ฐ€์ง€ ํŒจํ„ด์ด ํ•„์š”ํ•œ ์‚ฌ์œก์‚ฌ, riak, redis ํด๋Ÿฌ์Šคํ„ฐ

    • ๊ณ ์œ  ID(์ผ๋ฐ˜์ ์œผ๋กœ)

    • ์žฌ์‚ฌ์šฉ๋˜๋Š” ์ธ์Šคํ„ด์Šค๋‹น ๊ณ ์œ  ์˜๊ตฌ ๋ณผ๋ฅจ(์ผ๋ฐ˜์ ์œผ๋กœ)

    • ์•ˆ์ •์ ์ธ IP ์ฃผ์†Œ ๋˜๋Š” DNS ์ด๋ฆ„(์ผ๋ฐ˜์ ์œผ๋กœ) - DNS ์ด๋ฆ„์€ ์ผ๋ฐ˜์ ์œผ๋กœ

      ์•ˆ์ •์ ์ธ IP ์ฃผ์†Œ์˜ ์•ฝ์ž

    • ์•ˆ์ •์ ์ธ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„(๋“œ๋ฌผ๊ฒŒ)

์˜ค๋Š˜์€ N์„ ๊ฐ€์ง์œผ๋กœ์จ ๊ณ ์œ ํ•œ ์•„์ด๋ดํ‹ฐํ‹ฐ์™€ ์˜๊ตฌ ๋ณผ๋ฅจ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ณต์ œ ์ปจํŠธ๋กค๋Ÿฌ, N ์„œ๋น„์Šค๊ฐ€ ์žˆ๋Š” ์•ˆ์ •์ ์ธ IP ์ฃผ์†Œ. ์šฐ๋ฆฌ๋Š” ์›ํ•œ๋‹ค
์ด๋Ÿฌํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€ ์ค‘ ์ผ๋ถ€์— ๋Œ€ํ•ด N๊ฐœ์˜ RC ๋ฐ ์„œ๋น„์Šค๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ํŠน์ •ํ•œ ์ˆœ์„œ ์—†์ด Tim๊ณผ Brian์˜ ์ œ์•ˆ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค.

  • TemplatePool์€ ๋ฆฌํ”Œ๋ฆฌ์ผ€์ดํ„ฐ๊ฐ€
    ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด์— ๊ฑธ์ณ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ๊ถŒํ•œ๊ณผ
    ๋ชจ๋“  API ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์žˆ๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.

    • ํ…œํ”Œ๋ฆฟ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ธ์Šคํ„ด์Šคํ™”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์—ฌ์ „ํžˆ

      ๊ถŒํ•œ ์œ„์ž„ ๋ฌธ์ œ ํ•ด๊ฒฐ(์„œ๋น„์Šค ๊ณ„์ •์œผ๋กœ?)

    • ๊ฐœ์ฒด๋ฅผ ์ฐพ๊ณ  ๊ถŒํ•œ์„ ์ œํ•œํ•˜๋Š” ๊ฒƒ์€ ์žฅ๊ธฐ์ ์ธ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

  • ์šฐ๋ฆฌ๊ฐ€ ์ด์•ผ๊ธฐํ•œ vuid ํ•„๋“œ๋ผ๊ณ ๋„ ํ•˜๋Š” "ํฌ๋“œ ID" - ์ฃผ์žฅ์ด ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.
    ๊ทธ๋ฆฌ๊ณ  ์ผ๋ฐ˜์ ์œผ๋กœ ์ „ ์„ธ๊ณ„์ ์œผ๋กœ ๊ณ ์œ ํ•  ํ•„์š”๋Š” ์—†๋‹ค๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค.
    ํฌ๋“œ๊ฐ€ ์‚ฌ์šฉํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋Š” ๋„๋ฉ”์ธ ๋‚ด์—์„œ ๊ณ ์œ ํ•ฉ๋‹ˆ๋‹ค.

    • ๊ฐ€์ƒ ์ธ๋ฑ์Šค ํ• ๋‹น์ž(ํฌ์†Œ ๋˜๋Š” ๋ฐ€์ง‘)๋Š” ํ•ด๋‹น ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      ์ƒ์„ฑ ํ›„ kubelet์€ ํฌ๋“œ๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ๊นŒ์ง€ ํฌ๋“œ ์‹œ์ž‘์„ ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      ์‹ ์›(์ž์‹ ์ด ํ•˜๋‚˜๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Œ์„ ํ‘œ์‹œํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Œ)

    • ์กฐ๋ฐ€ํ•œ ์ธ๋ฑ์Šค๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ„๋‹จํ•œ ์ผ์— ์œ ์šฉํ•˜์ง€๋งŒ ์ด๊ฒƒ์ด

      ์ƒ์„ฑ ํ›„์ด๋ฉฐ kubelet์—์„œ ๋ถ„๋ฆฌ๋˜์–ด ๋‹ค๋ฅธ ๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      ํ• ๋‹น ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ ํ˜•(์กฐ๋ฐ€ํ•œ ์ˆซ์ž, ์ผ๊ด€๋œ ํ•ด์‹œ ๋ง,

      ๋žœ๋ค ๋“ฑ)

  • ํฌ๋“œ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ํ…œํ”Œ๋ฆฟ์€ ์‹œ์ž‘ํ•˜๊ธฐ์— ์ข‹์€ ์žฅ์†Œ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๋‹ค์Œ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
    ๊ธฐ์กด ๋„๊ตฌ ์ฒด์ธ๊ณผ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๋ฐฉ์‹์œผ๋กœ
    ์™„์ „ํžˆ ๋ถ€์ˆด

    • ID ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ ํ•„๋“œ ํ…œํ”Œ๋ฆฟํ™”

  • ์‚ฌ์šฉ์ž๊ฐ€ ์Šค์Šค๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ํ•„๋“œ๋ฅผ ํฌ๋“œ ์‚ฌ์–‘์— ์ถ”๊ฐ€ํ•˜๊ณ 
    ID๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”
  • ํ—ค๋“œ๋ฆฌ์Šค ์„œ๋น„์Šค๊ฐ€ ์—”๋“œํฌ์ธํŠธ์— ๋Œ€ํ•œ DNS ์ฟผ๋ฆฌ์— ์‘๋‹ตํ•˜๋„๋ก ํ—ˆ์šฉ
    ID(์—”๋“œํฌ์ธํŠธ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํฌ๋“œ์—์„œ ID๋ฅผ ๊ตฌ์ฒดํ™”ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
    ์•ฝ๊ฐ„์˜ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.
  • ์–ด๋–ป๊ฒŒ๋“  ์˜๊ตฌ ๋ณผ๋ฅจ ํด๋ ˆ์ž„์„ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”ํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    ํ’€์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ(๋˜๋Š” ํ’€ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๊ฐ ๋‹น ํ•˜๋‚˜์˜ ๋ณผ๋ฅจ์ด ์žˆ๋Š”์ง€ ํ™•์ธ
    ID ๋˜๋Š” ID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ’€์—์„œ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•จ), ์ƒ๊ฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ํ™˜๊ฒฝ/ํ•˜ํ–ฅ API๋ฅผ ์‰ฝ๊ฒŒ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
    ๊ตฌ์„ฑ ํŒŒ์ผ(์ง๊ต์ด์ง€๋งŒ ๋” ์‰ฌ์›Œ์•ผ ํ•จ)
  • ์—ฌ์ „ํžˆ ํŒจํ„ด์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ์šฐ๋ ค

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 ์ฟผ๋ฆฌ์— ์‘๋‹ตํ•˜๋„๋ก ํ—ˆ์šฉ
    ID(์—”๋“œํฌ์ธํŠธ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํฌ๋“œ์—์„œ ID๋ฅผ ๊ตฌ์ฒดํ™”ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.
    ์•ฝ๊ฐ„์˜ ์•ˆ์ •์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ์— ํ‘œ์‹œ๋˜๋Š” ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ๋‹ค๋ฅธ ์ปจํ…Œ์ด๋„ˆ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋„๋ก ํฌ๋“œ ์‚ฌ์–‘์— ์„ค์ •๋œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„(ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋ฉด ํ•ด๋‹น ID๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”๋  ์ˆ˜ ์žˆ์Œ)์„ ์‚ฌ์šฉํ•˜์—ฌ dns๋ฅผ ์ง€์›ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฐ ๋™์˜ํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค.

ํ•˜์œ„ ๋„๋ฉ”์ธ์„ ์„ค์ •ํ•˜๋ ค๋ฉด ๋ช…์‹œ์ ์ด๋“  ์•”์‹œ์ ์ด๋“  ์–ด๋–ค ์„œ๋น„์Šค๊ฐ€ ํ•˜์œ„ ๋„๋ฉ”์ธ์„ ๋Œ€์ƒ์œผ๋กœ ์‚ผ์•˜๋Š”์ง€ ํฌ๋“œ์— ์•Œ๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ช…์‹œ์ ์˜ ๋‹จ์ ์€ ๋” ๋งŽ์€ ๊ตฌ์„ฑ ๊ธ€๋ฃจ/ํ…œํ”Œ๋ฆฟ์ด ํ•„์š”ํ•˜๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌต์‹œ์  ๋ฐฉ๋ฒ•์˜ ๋‹จ์ ์€ ์‹œ์Šคํ…œ์˜ ๋Š์Šจํ•œ ๊ฒฐํ•ฉ์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ(์ƒ์„ฑ ์ˆœ์„œ ๊ฒฝ์Ÿ ๋ฐ ๋ถˆ์ผ์น˜, 1:1 ์‹œํ–‰ ์–ด๋ ค์›€ ๋“ฑ)๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฝ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ €๋Š” ๋ช…์‹œ์  ๋ฐฉ์‹์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ƒํ˜ธ ์ฐธ์กฐ ๋ฒ”์œ„๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ:

Hostname string
Subdomain string

PodSpec์˜ HostNetwork ์œ„์— ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์œ„ ๋„๋ฉ”์ธ์ด ์˜ฌ๋ฐ”๋ฅธ ์œ ํ˜•์˜ ์„œ๋น„์Šค์™€ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„ ๊ธฐ๋ฐ˜ DNS๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋˜ํ•œ ๋‘ ๊ฐœ๋ฅผ ๋‹จ์ผ ํ•„๋“œ๋กœ ์Šค๋ฌด๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ œ ์ƒ๊ฐ์—๋Š” ๋ฌธ์ œ #4825๋ฅผ ๋‹ค์‹œ ์‚ฌ์šฉํ•˜๊ณ  ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ์ž‘์—…์„ ํ•˜๋„๋ก ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋” ๊ตฌ์ฒด์ ์ด๊ณ  ๋œ ์ผํ•ฉ๋‹ˆ๋‹ค.

์–ด๋–ป๊ฒŒ๋“  ์˜๊ตฌ ๋ณผ๋ฅจ ํด๋ ˆ์ž„์„ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”ํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ’€์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ(๋˜๋Š” ํ’€ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๊ฐ ๋‹น ํ•˜๋‚˜์˜ ๋ณผ๋ฅจ์ด ์žˆ๋Š”์ง€ ํ™•์ธ
ID ๋˜๋Š” ID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ’€์—์„œ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•จ), ์ƒ๊ฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š” ์ฒญ๊ตฌ์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€ ์‚ฌํ•ญ:

  1. ๋ฐ”์ธ๋”ฉ์„ 1:1์—์„œ 1:N์œผ๋กœ ๋ณ€๊ฒฝ

    1. pvc.Spec.VolumeName์—์„œ pvc.Spec.VolumeNames[]๋ฅผ ๋ฐ”์ธ๋”ฉ ์ฐธ์กฐ๋กœ ์‚ฌ์šฉ

  2. ํด๋ ˆ์ž„์ด ๊ณต์œ ๋ฅผ ์œ„ํ•ด ์ •ํ™•ํžˆ ํ•œ ๋ฒˆ ๋ฐ”์ธ๋”ฉ๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ์•„๋‹ˆ๋ฉด ํด๋ ˆ์ž„์ด ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ”์ธ๋”ฉ๋˜์–ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” pvc.Spec.Singelton ๋ถ€์šธ์ž…๋‹ˆ๋‹ค.

RC๋Š” ํ•„์š”์— ๋”ฐ๋ผ ์ƒˆ ๋ณผ๋ฅจ์— ๋ฐ”์ธ๋”ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”์ธ๋”์—์„œ ์ด๊ฒƒ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ฌ๋ฐ”๋ฅธ ๋ณผ๋ฅจ์„ ์˜ฌ๋ฐ”๋ฅธ ํฌ๋“œ์— ๋งž์ถ”๋Š” ๊ฒƒ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

๋ณผ๋ฅจ ์ด๋ฆ„์— ๋Œ€ํ•œ ID ๋งต์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2015๋…„ 8์›” 21์ผ ๊ธˆ์š”์ผ ์˜คํ›„ 3์‹œ 17๋ถ„, Mark Turansky [email protected]
์ผ๋‹ค:

์–ด๋–ป๊ฒŒ๋“  ์˜๊ตฌ ๋ณผ๋ฅจ ํด๋ ˆ์ž„์„ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™”ํ•˜๊ฑฐ๋‚˜ ๋‹ค์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
ํ’€์—์„œ ๊ฐ€์ ธ์˜ค๊ธฐ(๋˜๋Š” ํ’€ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ๊ฐ ๋‹น ํ•˜๋‚˜์˜ ๋ณผ๋ฅจ์ด ์žˆ๋Š”์ง€ ํ™•์ธ
ID ๋˜๋Š” ID ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ’€์—์„œ ๊ฐ€์ ธ์˜ค๋„๋ก ํ•จ), ์ƒ๊ฐ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์—์„œ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š” ์ฒญ๊ตฌ์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€ ์‚ฌํ•ญ:

  1. ๋ฐ”์ธ๋”ฉ์„ 1:1์—์„œ 1:N์œผ๋กœ ๋ณ€๊ฒฝ

    1. pvc.Spec.VolumeName์„ pvc.Spec.VolumeNames[]์— ๋ฐ”์ธ๋”ฉ์œผ๋กœ

      ์ฐธ์กฐ

  2. ํด๋ ˆ์ž„์ด ๋ฐ”์ธ๋”ฉ๋˜์–ด์•ผ ํ•˜๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” 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์—์„œ 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

๋ฐ๋ชฌ์„ธํŠธ:

12893 ํ˜ธ์ŠคํŠธ ๋„คํŠธ์›Œํ‚น์„ ์‚ฌ์šฉํ•  ๋•Œ ํฌ๋“œ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์„ ๋…ธ๋“œ์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„์œผ๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” DaemonSet์— ์‚ฌ์šฉํ•˜๊ธฐ์— ์™„์ „ํžˆ ํ•ฉ๋‹นํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์–ด์จŒ๋“  hostPort๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋˜ํ•œ ์•”์‹œ์  ๋ฌด๊ธฐํ•œ ์šฉ์„œ #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

์ง€๊ธˆ ์ œ์•ˆ์„œ๋ฅผ ์ž‘์„ฑ ์ค‘์ด๋ฉฐ ๊ณง ์ดˆ์•ˆ์ด ์ž‘์„ฑ๋ฉ๋‹ˆ๋‹ค.

... ๊ทธ๋Ÿผ PetSet์€ ์–ด๋””์— ์žˆ์Šต๋‹ˆ๊นŒ?

Kubernetes ์œ„์— HA ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์†”๋ฃจ์…˜์„ ๊ตฌ์ถ• ์ค‘์ž…๋‹ˆ๋‹ค. ์ผ๋ถ€, ํŠนํžˆ ๋‹จ์ผ ๋งˆ์Šคํ„ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—๋Š” ํ•ด๋‹น ํฌ๋“œ์˜ ์ด๋ฒคํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํŠน์ • ํฌ๋“œ์— ๋งคํ•‘๋˜๋Š” ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์žˆ๋Š” ์„œ๋น„์Šค๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด:

  1. ์„œ๋น„์Šค "postgres"๋Š” ๋ผ์šด๋“œ ๋กœ๋นˆ์„ ReplicaSet์˜ ๋ชจ๋“  ํฌ๋“œ์— ๋งคํ•‘ํ•˜์ง€๋งŒ ์„œ๋น„์Šค "postgres-master"๋Š” ํ•˜๋‚˜์˜ ํฌ๋“œ์—๋งŒ ๋งคํ•‘ํ•ฉ๋‹ˆ๋‹ค.
  2. ๋งˆ์Šคํ„ฐ ํฌ๋“œ๊ฐ€ ์ฃฝ์Šต๋‹ˆ๋‹ค.
  3. ์žฅ์•  ์กฐ์น˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์žฅ์•  ์กฐ์น˜์˜ ์ผ๋ถ€๋กœ ์ƒˆ ๋งˆ์Šคํ„ฐ๋Š” API๋ฅผ ํ†ตํ•ด Kube-master๋ฅผ ์—…๋ฐ์ดํŠธํ•˜์—ฌ postgres-master ์„œ๋น„์Šค๋ฅผ "์žก๊ธฐ"ํ•ฉ๋‹ˆ๋‹ค.
  4. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด postgres-master์— ๋Œ€ํ•œ ๋ชจ๋“  ์ด์ „ ์—ฐ๊ฒฐ์ด ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

@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].

[1] https://github.com/kubernetes/contrib/pull/1295

๊ฒ€ํ† ๋ฅผ ๋งˆ์นœ ํ›„ ์ œ์•ˆ ๋ฌธ์„œ์— ๋””์ž์ธ ์š”์ฒญ์„ ์บก์ฒ˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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์„ ๋ฒ ํƒ€๋กœ ์ด๋™ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ์ƒˆ ๋ฌธ์ œ๋ฅผ ์—ด โ€‹โ€‹๊ณ„ํš์ž…๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰