๊ด€๋ฆฌ ๋ฉ”๋‰ด

Coding Planet

[Docker Swarm - 4] Docker Swarm์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋งํ•˜๊ธฐ ๋ณธ๋ฌธ

๐Ÿ›ณ๏ธ Docker

[Docker Swarm - 4] Docker Swarm์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋งํ•˜๊ธฐ

jhj.sharon 2024. 3. 8. 12:22
๋ฐ˜์‘ํ˜•

 

์ด์ „ ํฌ์ŠคํŠธ์—์„œ ๊ฐ€์ƒ ๋จธ์‹ ์œ„์— ์šฐ๋ถ„ํˆฌ๋ฅผ ์„ค์น˜ํ•˜์—ฌ ๋…ธ๋“œ๋ฅผ ๋งŒ๋“ค๊ณ  ๋„์ปค๋ฅผ ์„ค์น˜ํ–ˆ๋‹ค. ์ด๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด MobaXterm์„ ํ†ตํ•ด ๊ฐ ๊ฐ€์ƒํ™˜๊ฒฝ์— ์„ธ์…˜์„ ์—ฐ๊ฒฐํ•ด๋‘์—ˆ๋‹ค.

์ด์ œ ๋งค๋‹ˆ์ € ๋…ธ๋“œ๋ฅผ ํ†ตํ•ด Docker swam์„ ์„ค์น˜ํ•˜๊ณ  ํด๋Ÿฌ์Šคํ„ฐ๋ง์„ ํ•  ๊ฒƒ์ด๋‹ค. 
ํด๋Ÿฌ์Šคํ„ฐ๋ง๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ช…๋ น์–ด๋Š” ManagerNode์—์„œ ์ด๋ฃจ์–ด์ ธ์•ผํ•œ๋‹ค. ๊ฐ vm์„ ์‹คํ–‰ํ•˜๊ณ  ํ„ฐ๋ฏธ๋„๋กœ ์ž‘์—…ํ•˜๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•˜๋‹ค.

ํ˜„์žฌ ์‹ค์Šต์„ ์œ„ํ•ด mangerNode, workNode1, workNode2๊ฐ€ ๋งŒ๋“ค์–ด์ง„ ์ƒํƒœ์ด๋‹ค.

 

 

1. ๋งค๋‹ˆ์ € ๋…ธ๋“œ - ๋„์ปค ์Šค์›œ ์„ค์น˜ํ•˜๊ธฐ

๋งค๋‹ˆ์ € ๋…ธ๋“œ์—์„œ ํ•ด๋‹น ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋ฉด docker swarm์— ๊ฐ€์ž…ํ•˜๊ธฐ์œ„ํ•œ ํ† ํฐ์ผ ๋ฐœํ–‰๋œ๋‹ค. ์›Œ์ปค๋…ธ๋“œ๋Š” ์ด ํ† ํฐ์„ ํ†ตํ•ด ํ•ด๋‹น ํด๋Ÿฌ์Šคํ„ฐ๋ง์— ๊ฐ€์ž…ํ•  ์ˆ˜ ์ž‡๋‹ค.

$ docker swarm init

 

 

2. ์›Œ์ปค ๋…ธ๋“œ - swarm ์กฐ์ธํ•˜๊ธฐ

ํ† ํฐ๊ฐ’์„ ์›Œ์ปค ๋…ธ๋“œ์—์„œ ์ž…๋ ฅํ•ด swarm์— ๊ฐ€์ž…ํ–ˆ๋‹ค.

 docker swarm join --token ${ํ† ํฐ๊ฐ’}

 

 

3. ๋งค๋‹ˆ์ € ๋…ธ๋“œ - ๋„์ปค ์Šค์›œ ์ •๋ณด๋ณด๊ธฐ

1) Swarm ํด๋Ÿฌ์ŠคํŠธ์˜ ์ „๋ฐ˜์ ์ด ์ •๋ณด ํ™•์ธ

Docker ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•œ๋‹ค. Swarm ์„น์…˜์—์„œ ํ˜„์žฌ ๋…ธ๋“œ์˜ ์—ญํ• , ํด๋Ÿฌ์Šคํ„ฐ๋ง์„ ๊ตฌ์„ฑํ•˜๋Š” ๋…ธ๋“œ ์ˆ˜ ๋“ฑ์„ ์•Œ์ˆ˜ ์žˆ๋‹ค.

$ docker info

 

 

2) Swarm ํด๋Ÿฌ์Šคํ„ฐ์— ์†ํ•œ ๋…ธ๋“œ ๋ชฉ๋ก ํ™•์ธ

์ด ๋ช…๋ น์–ด๋Š” Swarm ํด๋Ÿฌ์Šคํ„ฐ์— ์†ํ•œ ๋ชจ๋“  ๋…ธ๋“œ์˜ ๋ชฉ๋ก์„ ๋ณด์—ฌ์ค€๋‹ค. ๊ฐ ๋…ธ๋“œ์˜ ID, ํ˜ธ์ŠคํŠธ๋ช…, ์—ญํ• (Leader, Manager, Worker), ์ƒํƒœ(Ready, Down ๋“ฑ), ๊ฐ€์šฉ์„ฑ(Available, Drain ๋“ฑ) ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ๋‹ค.

$ docker node ls

 

์ปฌ๋Ÿผ ์„ค๋ช…
ID ๊ฐ ๋…ธ๋“œ์— ๊ณ ์œ ํ•˜๊ฒŒ ํ• ๋‹น๋œ ์‹๋ณ„์ž.
Docker Swarm ํด๋Ÿฌ์Šคํ„ฐ ๋‚ด์—์„œ ๊ฐ ๋…ธ๋“œ๋ฅผ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
HOSTNAME ๋…ธ๋“œ์˜ ํ˜ธ์ŠคํŠธ ์ด๋ฆ„
๋…ธ๋“œ๊ฐ€ ์‹คํ–‰ ์ค‘์ธ ์‹ค์ œ ๋˜๋Š” ๊ฐ€์ƒ์˜ ๋จธ์‹  ์ด๋ฆ„์„ ๋ฐ˜์˜
STATUS ๋…ธ๋“œ์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ
- Ready: ๋…ธ๋“œ๊ฐ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Œ
- Down:  ๋…ธ๋“œ๊ฐ€ ํ˜„์žฌ ์ ‘๊ทผ ๋ถˆ๊ฐ€๋Šฅํ•˜๊ฑฐ๋‚˜ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ
AVAILABILITY ๋…ธ๋“œ์˜ ๊ฐ€์šฉ์„ฑ ์„ค์ •
- Active : ์ž‘์—…์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Œ
- Pause : ์ž„์‹œ๋กœ ์ž‘์—…์„ ๋ฐ›์ง€ ์•Š์Œ
- Drain : ๋…ธ๋“œ๊ฐ€ ์ƒˆ๋กœ์šด ์ž‘์—…์„ ๋ฐ›์ง€ ์•Š๊ณ , ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋‹ค๋ฅธ ๋…ธ๋“œ๋กœ ์˜ฎ๊ธฐ๋„๋ก ์„ค์ •๋จ
MANAGER STATUS ๋…ธ๋“œ๊ฐ€ Swarm ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋งค๋‹ˆ์ € ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•˜๋Š”์ง€ ์—ฌ๋ถ€
- Leader : ํ˜„์žฌ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ฆฌ๋” ๋งค๋‹ˆ์ €
- Reachable : ๋…ธ๋“œ๊ฐ€ ๋งค๋‹ˆ์ €๋กœ์„œ ํ™œ์„ฑ ์ƒํƒœ์ด์ง€๋งŒ ๋ฆฌ๋”๋Š” ์•„๋‹˜
- Unavailable : ๋งค๋‹ˆ์ € ๋…ธ๋“œ๊ฐ€ ํ˜„์žฌ ๋งค๋‹ˆ์ € ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Œ
ENGINE VERSION Docker Engine์˜ ๋ฒ„์ „. ๋…ธ๋“œ์—์„œ ์‹คํ–‰ ์ค‘์ธ Docker ์†Œํ”„ํŠธ์›จ์–ด์˜ ๋ฒ„์ „

 

 

3) Swarm ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒ์„ธ ์„ค์ • ์ •๋ณด ํ™•์ธ

์ด ๋ช…๋ น์–ด๋Š” Swarm ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ƒ์„ธ ์„ค์ • ์ •๋ณด๋ฅผ JSON ํ˜•์‹์œผ๋กœ ๋ณด์—ฌ์ค€๋‹ค. ํด๋Ÿฌ์Šคํ„ฐ์˜ ID, ํด๋Ÿฌ์Šคํ„ฐ์— ์ ์šฉ๋œ ์„ค์ •(์˜ˆ: Raft ์ปจ์„ผ์„œ์Šค, ๋””์ŠคํŒจ์น˜ ๊ฐ„๊ฒฉ ๋“ฑ), ํด๋Ÿฌ์Šคํ„ฐ์— ์†ํ•œ ๋…ธ๋“œ๋“ค์˜ ์ƒ์„ธ ์ •๋ณด ๋“ฑ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. --pretty ์˜ต์…˜์„ ์ด์šฉํ•ด ์ถœ๋ ฅ ํ˜•์‹์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

$ docker swarm inspect --pretty

 

 

 

 

๋ฐ˜์‘ํ˜•
Comments