article thumbnail image
Published 2023. 2. 12. 21:54

환경

  • 노드:
    • 192.168.137.100 (Manager)
    • 192.168.137.101 (Worker)
  • 방화벽 오픈
    • 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

 

 

Manager 설정

  • 192.168.137.100 Manager 설정
    • 명령 완료 후, Worker 노드가 Swarm 클러스터에 합류할 수 있는 명령어가 나옴
      (docker swarm join --token ~)
docker swarm init --advertise-addr 192.168.137.100

  • 참고1: 현재 노드 조인 비밀키 확인
docker swarm join-token manager
  • 참고2: 노드 조인 비밀키 갱신
docker swarm join-token --rotate manager

 

 

Node 조인

  • 192.168.137.101 Worker 노드를 앞서 생성한 Swarm 클러스터에 조인
    (앞서 Manager 설정하면서 출력된 조인 명령어 실행)
docker swarm join --token ~
  • Node 조회
docker node ls

  • 참고1: 삭제할 노드에서 본인 노드 삭제
docker swarm leave
  • 참고2: Manager 노드에서 노드 삭제
docker node rm 노드ID

 

 

Node 승격 및 강등

  • Worker → Manager
docker node promote 노드명
  • Manager → Worker
docker node demote 노드명
복사했습니다!