Swarm Mode
Introduction
๋์ปค ์์คํ ์ ๋ณด ํ์ธ
Swarm ํ์ฑํ
๋์ปค ์์คํ ์ ๋ณด ํ์ธ
Node ๋ชฉ๋ก ํ์ธ
ํธ์คํธ์ ํธ์คํธ ์ด๋ฆ ํ์ธ
Service ์์ฑ
์์ฑ๋ Service ํ์ธ
์์ฑ๋ Service์ ์ํ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
Swarm Node์ ์์ฑ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
ํธ์คํธ์ ์์ฑ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
Service์ ๋ณต์ ๋ณธ ๊ฐฏ์๋ฅผ 3๊ฐ๋ก ์์
Service์ ์ํ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
์คํ์ค์ธ ์ปจํ ์ด๋์ ์์ ๊ฐ๋ฅํ ์ค์ ํ์ธ
์์ฑ๋ Service์ ์์ ๊ฐ๋ฅํ ์ค์ ํ์ธ
์์ฑ๋ Service์ ์์ธ ๋ด์ฉ ํ์ธ
์๋ก์ด ํฐ๋ฏธ๋์ ์ด๊ณ Docker ์ด๋ฒคํธ ์์
๊ธฐ์กด ํฐ๋ฏธ๋๋ก ๋์์์ Service์ ์ด๋ฏธ์ง ํ๊ทธ ๋ณ๊ฒฝ
๋ค๋ฅธ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ ๋ฐ์ํ ์ด๋ฒคํธ ํ์ธ
๊ธฐ์กด ํฐ๋ฏธ๋๋ก ์ด๋ํด์ Service์ ์์ธ ๋ด์ฉ ํ์ธ
Service์ ์ํ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
ํธ์คํธ์ ์์ฑ๋ ๋ชจ๋ ์ปจํ ์ด๋ ํ์ธ
์ด์ ๋ฒ์ ์ผ๋ก ๋กค๋ฐฑ
Service์ ์ํ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
ํธ์คํธ์ ์์ฑ๋ ๋ชจ๋ ์ปจํ ์ด๋ ํ์ธ
Service์ ์ํ๋ ์ปจํ ์ด๋ ์ค์ ํ๊ฐ๋ฅผ ์ญ์
Service์ ์ํ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
ํธ์คํธ์ 8080 ํฌํธ๋ฅผ Service์ ์ํ๋ ์ปจํ ์ด๋์ 80 ํฌํธ์ ์ฐ๋
Service์ ์ ๋ณด ํ์ธ
Service์ ์ํ๋ ๊ฐ ์ปจํ ์ด๋๋ณ ํฌํธ ๋งตํ ํ์ธ
Service์ ์์ธ ๋ด์ฉ ํ์ธ
Service์ ์ํ๋ ๊ฐ ์ปจํ ์ด๋์ IP ์ฃผ์ ํ์ธ
Network ๋ชฉ๋ก ํ์ธ
๋ก์ปฌํธ์คํธ์ ์ฐ๋๋ ํฌํธ๋ฅผ ํตํด์ Service๋ก ์ ๊ทผ์ด ๋๋์ง ํ์ธ
DOCKER-INGRESS ๊ท์น ํ์ธ
๋ค๋ฅธ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ Service ๋ก๊ทธ ์์
๊ธฐ์กด ํฐ๋ฏธ๋๋ก ์ด๋ํด์ ๋ก์ปฌํธ์คํธ์ ์ฐ๋๋ ํฌํธ๋ฅผ ํตํด์ Service ํธ์ถ
๋ค๋ฅธ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ ๋ค์์ ์ปจํ ์ด๋๋ก ๋ถํ ๋ถ์ฐ๋๋์ง ํ์ธํ๊ณ
Ctrl+C
๋ฅผ ์ ๋ ฅ๊ธฐ์กด ํฐ๋ฏธ๋๋ก ๋์์์ Service ์์
Service ์ญ์
Swarm ๋นํ์ฑํ ์๋
Swarm ๋นํ์ฑํ
๋์ปค ์์คํ ์ ๋ณด ํ์ธ
Swarm Cluster
์ค์ต ํ๊ฒฝ ์์ฑ
์ธ์คํด์ค ์ ๋ณด ํ์ธ
์๋ก์ด ํฐ๋ฏธ๋์ ์ด๊ณ ์ฒซ๋ฒ์งธ ์ธ์คํด์ค์ SSH ์ฐ๊ฒฐ - ๋งค๋์ ๋ ธ๋๋ก ์ฌ์ฉ
Swarm ํ์ฑํ
์๋ก์ด ํฐ๋ฏธ๋์ ์ด๊ณ ๋๋ฒ์งธ, ์ธ๋ฒ์งธ ์ธ์คํด์ค๋ก SSH ์ ์ํด์ ํด๋ฌ์คํฐ ์กฐ์ธ ๋ช ๋ น์ด ์คํ
๋งค๋์ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ Swarm ๋ ธ๋ ๋ชฉ๋ก ํ์ธ
Service ์์ฑ
์์ฑ๋ Service์ ์ํ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
๋งค๋์ ๋ ธ๋์ ๋ฐฐํฌ๋ NGINX ์ปจํ ์ด๋์ ์์ธ ๋ด์ฉ ํ์ธ
๋งค๋์ ๋ ธ๋์ ์์ฑ๋ Network ๋ชฉ๋ก ํ์ธ
๋๋ฒ์งธ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ ํด๋น ๋ ธ๋์ ๋ฐฐํฌ๋ NGINX ์ปจํ ์ด๋์ ์์ธ ๋ด์ฉ ํ์ธ
ํด๋น ๋ ธ๋์ ์์ฑ๋ Network ๋ชฉ๋ก ํ์ธ
๋งค๋์ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ Service ์ญ์
Overlay ํ์์ Network ์์ฑ
Network๊ฐ ์์ฑ ๋์๋์ง ํ์ธ
๋ค๋ฅธ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ Network ๋ชฉ๋ก ํ์ธ
๋งค๋์ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ Service ์์ฑ
์์ฑ๋ Service์ ์ํ๋ ์ปจํ ์ด๋ ๋ชฉ๋ก ํ์ธ
๋งค๋์ ๋ ธ๋์ ๋ฐฐํฌ๋ NGINX ์ปจํ ์ด๋์ ์์ธ ๋ด์ฉ ํ์ธ
๋ค๋ฅธ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ ํด๋น ๋ ธ๋์ ๋ฐฐํฌ๋ NGINX ์ปจํ ์ด๋์ ์์ธ ๋ด์ฉ ํ์ธ
Network ๋ชฉ๋ก ํ์ธ
๋งค๋์ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋
ํธ์คํธ์ 8080 ํฌํธ๋ฅผ Service์ ์ํ๋ ์ปจํ ์ด๋์ 80 ํฌํธ์ ์ฐ๋
๋ก์ปฌํธ์คํธ์ ์ฐ๋๋ ํฌํธ๋ฅผ ํตํด์ Service๋ก ์ ๊ทผ์ด ๋๋์ง ํ์ธ
๋ก์ปฌํธ์คํธ์ ์ฐ๋๋ ํฌํธ๋ฅผ ํตํด์ Service ํธ์ถ
Service ๋ก๊ทธ ํ์ธ
๋ค๋ฅธ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ ํด๋น ๋ ธ๋์ 8080 ํฌํธ๋ฅผ ํตํด์ Service๋ก ์ ๊ทผ์ด ๋๋์ง ํ์ธ
๋งค๋์ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ Service์ ๋ถ์ฌ๋ ๊ฐ์ IP ํ์ธ
์๋ก์ด Service ์์ฑ
์์ฑ๋ Service์ ์ํ๋ ์ปจํ ์ด๋๊ฐ ์ด๋ค ๋ ธ๋์ ๋ฐฐํฌ ๋์๋์ง ํ์ธ
ํด๋น ์ปจํ ์ด๋๊ฐ ๋ฐฐํฌ๋ ๋ ธ๋๋ก ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋
ํด๋น ๋ ธ๋์ ๋ฐฐํฌ๋ NGINX ์ปจํ ์ด๋์ IP ์ฃผ์ ํ์ธ
busybox ์ปจํ ์ด๋๋ก bash ํ๋ก์ธ์ค ์คํ
์๋น์ค์ ๋ถ์ฌ๋ ๊ฐ์ IP๋ก NGINX ์ปจํ ์ด๋์ ์ ๊ทผ์ด ๋๋์ง ํ์ธ
ํด๋น ๋ ธ๋์ ๋ฐฐํฌ๋ NGINX ์ปจํ ์ด๋์ IP๋ก ์ ๊ทผ์ด ๋๋์ง ํ์ธ
bash ํ๋ก์ธ์ค ์ข ๋ฃ
๋งค๋์ ๋ ธ๋์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋
busybox ์๋น์ค์ NGINX ์๋น์ค๊ฐ ์ฌ์ฉํ๋ overlay ๋คํธ์ํฌ ์ฐ๋
์ปจํ ์ด๋๊ฐ ์ด๋ค ๋ ธ๋์ ๋ฐฐํฌ ๋์๋์ง ํ์ธ
busybox ์ปจํ ์ด๋๊ฐ ๋ฐฐํฌ๋ ๋ ธ๋๋ก ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋
busybox ์ปจํ ์ด๋๋ก bash ํ๋ก์ธ์ค ์คํ
์๋น์ค์ ๋ถ์ฌ๋ ๊ฐ์ IP๋ก NGINX ์ปจํ ์ด๋์ ์ ๊ทผ์ด ๋๋์ง ํ์ธ
์์์ ํ์ธํ NGINX ์ปจํ ์ด๋์ IP๋ก ์ ๊ทผ์ด ๋๋์ง ํ์ธ
์๋น์ค ์ด๋ฆ์ผ๋ก NGINX ์ปจํ ์ด๋์ ์ ๊ทผ์ด ๋๋์ง ํ์ธ
์๋น์ค ์ด๋ฆ์ผ๋ก ๋๋ฉ์ธ ์ฃผ์ ๊ฒ์ ์๋
bash ํ๋ก์ธ์ค ์ข ๋ฃ
Cloud9์ ์ฐ๊ฒฐ๋ ํฐ๋ฏธ๋๋ก ์ด๋ํด์ ๋ฆฌ์์ค ์ญ์
Last updated