Machine: ๋“œ๋ผ์ด๋ฒ„ RPC ์ธํ„ฐํŽ˜์ด์Šค ์‚ฌ์–‘

์— ๋งŒ๋“  2016๋…„ 01์›” 01์ผ  ยท  7์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: docker/machine

๋“œ๋ผ์ด๋ฒ„ ํ”Œ๋Ÿฌ๊ทธ์ธ์— ๋Œ€ํ•œ RPC ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๋ฌธ์„œ/pr/๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ๋ช‡ ๊ฐ€์ง€ ๊ด€๋ จ ๋ฌธ์ œ #1626 ๋ฐ #1902๋ฅผ ์ฐพ์•˜์ง€๋งŒ ์ข€ ๋” "๊ตฌ์ฒด์ ์ž…๋‹ˆ๋‹ค. ๋ฌธ์„œ ์— ๋‚ด๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ์—†์Šต๋‹ˆ๊นŒ?

driveall

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

@prologic https://golang.org/pkg/net/rpc/๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ ์ „์†ก ์ฝ”๋ฑ์€ ๊ธฐ๋ณธ Go blob ์ธ์ฝ”๋”ฉ ํ˜•์‹์ธ gob ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์–ธ์–ด๋กœ gob ์„(๋ฅผ) ์‚ฌ์šฉํ•˜์—ฌ ์˜์‚ฌ์†Œํ†ตํ•˜๋Š” ๊ฒƒ์ด _๊ฐ€๋Šฅ_ํ•˜์ง€๋งŒ(์˜ˆ๋ฅผ ๋“ค์–ด https://groups.google.com/forum/#!topic/golang-nuts/xtXh0yWOens ์ฐธ์กฐ), ๊ทธ ๊ฐ€์น˜.

์ง„์ •์œผ๋กœ ์–ธ์–ด์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ JSON-RPC ๋˜๋Š” protobufs์™€ ๊ฐ™์€ ๊ฒƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ํ™•์‹คํžˆ ๋‚ด๊ฐ€ ๋ฏธ๋ž˜๋ฅผ ์œ„ํ•ด ๊ณ ๋ คํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด์ง€๋งŒ ํ”Œ๋Ÿฌ๊ทธ์ธ API์— ๋Œ€ํ•œ ๋ฒ„์ „ ๋ฒ”ํ”„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(์ด๋Š” ์ด์ „ ๋ฒ„์ „์ด๋‚˜ ์•ž์œผ๋กœ ํ˜ธํ™˜๋˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค).

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

์•ˆ๋…•ํ•˜์„ธ์š” @prologic. ์ง€๊ธˆ๊นŒ์ง€ ๊ณต์‹์ ์ธ ์‚ฌ์–‘์€ ์—†์ง€๋งŒ(๋ถˆํ–‰ํžˆ๋„ :( ) ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„์ด๋””์–ด๋Š” Driver ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ตฌํ˜„ํ•œ ๋‹ค์Œ ํ”Œ๋Ÿฌ๊ทธ์ธ ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ main ์—์„œ Driver ์— ๋Œ€ํ•ด plugin.RegisterDriver() ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค main ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค. ๋งํฌ๋œ ํƒ€์‚ฌ ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์‚ดํŽด๋ณด์…จ๋‚˜์š”?

@nathanleclaire ์‘๋‹ต docker-machine ํŒจํ‚ค์ง€ ์—†์Œ)๋ฅผ ์‚ดํŽด๋ณด์•˜์ง€๋งŒ ๋„์ปค ๋จธ์‹  ๋“œ๋ผ์ด๋ฒ„ ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ž‘๋™ํ•˜๋Š” ๋ฐฉ์‹์ด ์–ธ์–ด์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๋Š”๋‹ค๋Š” ๋‹ค์–‘ํ•œ ๋ฌธ์ œ์™€ pull-request์— ๋Œ€ํ•œ ์ธ์ƒ์„ ๋ฐ›์•˜์Šต๋‹ˆ๋‹ค. (_๋˜๋Š” ์ ์–ด๋„ ์˜๋ฏธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?_)

๊ทธ๋ ‡์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

@prologic ์•„๋‹ˆ์š”, Golang net/rpc ์™€ ๋งค์šฐ ๋ฐ€์ ‘ํ•˜๊ฒŒ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ RPC์ด๊ณ  ์†Œ์ผ“์„ ํ†ตํ•ด ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์•„๋‹ˆ์š”? :) ๋‚ด๊ฐ€ ๋ฌด์—‡์„ ๋†“์น˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ :P

@prologic https://golang.org/pkg/net/rpc/๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋˜์—ˆ์œผ๋ฉฐ ์ „์†ก ์ฝ”๋ฑ์€ ๊ธฐ๋ณธ Go blob ์ธ์ฝ”๋”ฉ ํ˜•์‹์ธ gob ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์–ธ์–ด๋กœ gob ์„(๋ฅผ) ์‚ฌ์šฉํ•˜์—ฌ ์˜์‚ฌ์†Œํ†ตํ•˜๋Š” ๊ฒƒ์ด _๊ฐ€๋Šฅ_ํ•˜์ง€๋งŒ(์˜ˆ๋ฅผ ๋“ค์–ด https://groups.google.com/forum/#!topic/golang-nuts/xtXh0yWOens ์ฐธ์กฐ), ๊ทธ ๊ฐ€์น˜.

์ง„์ •์œผ๋กœ ์–ธ์–ด์— ๊ตฌ์• ๋ฐ›์ง€ ์•Š๊ธฐ ์œ„ํ•ด์„œ๋Š” ํŠน๋ณ„ํžˆ ์„ค๊ณ„๋œ JSON-RPC ๋˜๋Š” protobufs์™€ ๊ฐ™์€ ๊ฒƒ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ํ™•์‹คํžˆ ๋‚ด๊ฐ€ ๋ฏธ๋ž˜๋ฅผ ์œ„ํ•ด ๊ณ ๋ คํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด์ง€๋งŒ ํ”Œ๋Ÿฌ๊ทธ์ธ API์— ๋Œ€ํ•œ ๋ฒ„์ „ ๋ฒ”ํ”„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค(์ด๋Š” ์ด์ „ ๋ฒ„์ „์ด๋‚˜ ์•ž์œผ๋กœ ํ˜ธํ™˜๋˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค).

FWIW; Proxmox VE์šฉ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ์ž‘์„ฑํ•˜๊ณ  Proxmox VE API9์™€ ํ†ต์‹ ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ด๋ฏธ ์•Œ๊ณ  ์žˆ๋Š” ๊ธฐ์กด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์žฌ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์˜ˆ: proxmoxer ๋˜๋Š” pyproxmox

์ถฉ๋Œ!

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