10.4 Swarm에 Worker Node 추가하기

이제 Worker로 Join하기 위해 사용할 명령어를 알게되었고, 이를 사용하여 각 Worker에서 join 명령을 실행할 수 있습니다.

위의 경우 3대의 Worker Machine이 존재합니다. (worker1/2/3)

worker1에서 다음을 수행 합니다.

  • worker1 시스템으로 접속 합니다. (e.g. docker-machine ssh worker1)

  • 그리고 Worker로 Join하기 위해 아래의 명령을 실행합니다.

docker@worker1:~$ docker swarm join --token SWMTKN-1-0mlmww1rp83ji0tsonyzud0ny99tcymc3yyi3fx6ot7sydabtm-1iwjz0h9pxg4acro0sjm119q4 192.168.99.100:2377

This node joined a swarm as a worker.

docker@worker1:~$

worker2/3에 대해서도 위와 동일하게 작업을 수행합니다.

모든 Worker Node가 Swarm에 Join한 후 manager1의 SSH 콘솔에서 아래의 명령어를 사용하여 Swarm의 상태를 확인합니다. 즉, 해당 노드가 참여하는 노드를 확인합니다.

docker@manager1:~$ docker node ls

ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION

yli8mapw893qwmavhq7at3x0t * manager1 Ready Active Leader 19.03.5

op87x0jmdhvk030rjscbcjw6r worker1 Ready Active 19.03.5

856rqgebt7da4c0yppdl6fcwl worker2 Ready Active 19.03.5

mlve8o2r06p1hvq8bqpwwx3ab worker3 Ready Active 19.03.5

docker@manager1:~$

Active Reachable 19.03.5 ig7y8bo5j8jrf9ovs9g970vvh worker3 Ready Active Reachable 19.03.5

4개의 Node가 존재하는데 하나는 관리자(manager1)이고 다른 노드는 모두 Worker입니다.

docker info 명령을 이용하여 Swarm의 세부 정보를 확인해봅시다.

docker@manager1:~$ docker info

~~~~~ 생략 ~~~~~

Swarm: active

NodeID: yli8mapw893qwmavhq7at3x0t

Is Manager: true

ClusterID: a9y4jlvvx2jnk346xaplgrcfp

Managers: 1

Nodes: 4

Default Address Pool: 10.0.0.0/8

SubnetSize: 24

Data Path Port: 4789

Orchestration:

Task History Retention Limit: 5

Raft:

Snapshot Interval: 10000

Number of Old Snapshots to Retain: 0

Heartbeat Tick: 1

Election Tick: 10

Dispatcher:

Heartbeat Period: 5 seconds

CA Configuration:

Expiry Duration: 3 months

Force Rotate: 0

Autolock Managers: false

Root Rotation In Progress: false

Node Address: 192.168.99.100

Manager Addresses:

192.168.99.100:2377

~~~~~ 생략 ~~~~~

위의 정보를 확인해봅시다.

  • Swarm은 활성화 된 것으로 표시됩니다. 총 4개의 노드와 1개의 관리자가 있습니다.

  • manager1에서 docker info 명령을 실행중이기에 “Is Manager”가 true로 표시됩니다.

  • Raft 항목은 합의 알고리즘을 의미합니다. 자세한 내용은 여기를 확인하세요.