-
docker swarm 구성공부합시다!/Container 2026. 9. 17. 17:32728x90
kubernetes Cluster를 구성, 활용해 보신 분들은 Cluster의 장점을 모두 이해 하실겁니다.
docker에서도 역시 Cluster를 구성해서 docker container를 배포, 관리 하실 수 있습니다.
즉 docker의 Orchestration 도구가 바로 docker swarm 입니다.
docker swarm을 구성하는 이유가 Cluster를 사용하기 위해서라면 docker compose를 이용한 docker stack을 이용하여 멀티호스트에 Service를 배포하는 것이 당연하지 않을까요?
즉 docker compose 만으로는 코드화및 서비스는 구성이 가능하지만 여러 node에 Service를 배포하는 docker stack을 사용할 것이라면 docker swarm 구성은 필수입니다.
이전 자료 https://virtualtech.tistory.com/692 에서 이미 설치가 되었기 때문에 구성만 하시면 바로 이용이 가능합니다.
VM의 역할 및 자원 할당은 아래 표와 같습니다.
총 3대의 host 중
master node 역할 vm 1대, worker node 역할 vm 2대로 구성합니다.
vm 이름 ip address roles cpu : memory: hdd nic hostname rocky9-1 10.0.0.51/24 master node 1p1c:2048G:50G nat doma1 rocky9-2 10.0.0.52/24 worker node 1p1c:2048G:50G nat dono1 rocky9-3 10.0.0.53/24 worker node 1p1c:2048G:50G nat dono2 1. 사전 준비
일단 hostname으로 각 node를 식별할 수 있게 /etc/hosts파일을 수정합니다.
# tee -a >> /etc/hosts << eof > doma1 10.0.0.51 > dono1 10.0.0.52 > dono2 10.0.0.53 > eof # cat /etc/hosts 모든 node에서 위의 작업을 수행합니다. hostname 변경 및 firewall open 대상 호스트: rocky9-1 # hostnamectl set-hostname doma1 # firewall-cmd --permanent --add-port=2377/tcp cluster관리 및 manager와 node간 통신(join) # firewall-cmd --permanent --add-port=4789/udp 오버레이 네트워크(Overlay Network) 트래픽 전달 # firewall-cmd --permanent --add-port=7946/{tcp,udp} 노드 간 네트워크 검색 및 통신 (Container Network Discovery) # firewall-cmd --reload 대상 호스트: rocky9-2 # hostnamectl set-hostname dono1 # firewall-cmd --permanent --add-port=4789/udp # firewall-cmd --permanent --add-port=7946/{tcp,udp} # firewall-cmd --reload 대상 호스트: rocky9-3 # hostnamectl set-hostname dono2 # firewall-cmd --permanent --add-port=4789/udp # firewall-cmd --permanent --add-port=7946/{tcp,udp} # firewall-cmd --reload 모든 node에서 hostnamectl 및 firewall-cmd --list-all 로 확인합니다.master node 방화벽 open

worker node 방화벽 open


2. master node 작업
docker swarm 초기화 및 token 생성
# docker swarm init --advertise-addr 10.0.0.51 (manager node ip address) # docker swarm join --token SWMTKN-1-~~~~~~~~~~~~~~~-~~~~~10.0.0.51:2377 work node에서 join 사용할 키 및 hash 조합의 command를 생성합니다. 복사하셔서 worker node에 붙여넣기 하세요!
3. worker node 작업
2번에서 생성한 join 값을 붙여넣기 합니다.
# docker swarm join --token SWMTKN-1-~~~~~~~~~~~~~~~-~~~~~10.0.0.51:2377 master node에 join 됩니다. 확인은 master node에서

4. node 확인
# docker node ls 모든 node가 ready 상태로 표시되면 완료!

docker swarm 728x90'공부합시다! > Container' 카테고리의 다른 글
docker compose, docker swarm, docker stack 설치 (0) 2026.09.17 docker, docker compose, docker swarm, docker stack 비교 (0) 2026.09.17 alpine linux in docker (httpd or nginx error) (1) 2024.05.30 Docker: alpine + nginx Image 만들기 (0) 2023.09.11 Dockerfile - CentOS7 + HTTPD (0) 2023.05.19