320x100
320x100

도커 스웜 구조

ㆍManager Node

: 클러스터 작업 관리, 상태 유지, 스케줄링, HTTP API EndPoint

 

ㆍWorker Node

 : 컨테이너 실행

 

 

 

도커 스웜의 통신 포트 

: Swarm Manager default port = 2377/tcp
: node communication = 7946/tcp, 7946/udp
: overlay network = 4789/udp

 

 

 

도커 스웜 통신 포트 허용
: firewall-cmd --permanent --zone=public --add-port=2377/tcp
: firewall-cmd --permanent --zone=public --add-port=4789/udp
: firewall-cmd --permanent --zone=public --add-port=7946/udp
: firewall-cmd --permanent --zone=public --add-port=7946/tcp
: firewall-cmd --reload
: firewall-cmd --list-all

 

 

 

토큰키 생성
: docker swarm init --advertise-addr 호스트IP

 

 


노드 상태 확인
: docker node ls

 

 

 

매니저 노드에서 join용 토큰 발급
: docker swarm join-token manager

 

 


클러스터 조인 (노드<컨테이너>에 접속하여 실행)
: docker swarm join --token 토큰키

: 컨테이너 내에서 작동하지 않을시 생략가능

 

 


클러스터에 서비스 등록
: docker service create --name 컨테이너명 -p 호스트포트:컨테이너포트 이미지명

 

 


도커 서비스 확인
: docker service ls
: docker service ps 서비스명

 

 


서비스 확장 및 축소
: docker service scale 서비스명=태스크 갯수

 

 


등록된 서비스 테스트
: curl 매니저노드IP:포트

 

 


서비스 삭제
: docker service rm 서비스명

 

 

 

 

※ 공식문서

: https://docs.docker.com/engine/reference/commandline/service/

 

 

 

Refference

 

# Docker Swarm 클러스터 구성

Docker Swarm 이란 컨테이너를 관리하는 Orchestration Tool 중의 하나이다. Orchestration Tool 이란? 컨테이너의 단순 배포 뿐만이 아니라 확장, 네트워킹 등을 자동화하여 수백 또는 수천 개의 컨테이너를

skysoo1111.tistory.com

300x250
728x90

'Container > Docker Swarm' 카테고리의 다른 글

도커 스웜과 컴포즈 연동하기  (0) 2021.09.20