Docker Swarm 基本建置

假設有三台電腦,ip 分別為:

  • master: 192.168.1.100
  • node-1: 192.168.1.200
  • node-2: 192.168.1.300

在這邊我們讓 100 這台當作 leader 也就是 manager node,200 和 300 為 worker nodes。
所以我們會藉由 leader 來發號司令安排任務。

如圖:

Step 1: 建立 Swarm mode

我們先在 leader 這台建立 swarm mode。

$ docker swarm init --advertise-addr 192.168.1.100
Swarm initialized: current node (ptetl3n05wr5crvbhl6i2dh01) is now a manager.

To add a worker to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-1h8e0f4efui3zxxpxglaibun7l7z6tcop8mfcelagw6i6lzwsj-7qby9dlsgu5ns4xulthq0xttx 192.168.1.100:2377

To add a manager to this swarm, run `docker swarm join-token manager` and follow the instructions.

如果在 swarm mode 下只有一台電腦,也就是只有 leader,那麼 --advertise-addr 這個參數可以不需要。
若有兩個以上的 node(包含 leader),那麼如果沒有給定 --advertise-addr 這個參數,expose 出來的 port 將不會在每一台 node 都有效 expose 出來

也就是說:如果我們在 init 時有給定 --advertise-addr 這個參數。那麼如果我們 expose
5000 這個 port 出來,我們連 192.168.1.100:5000, 192.168.1.200:5000, 192.168.1.300:5000 將會連到相同的服務

Setp 2: 將 Worker nodes 加入 Swarm mode

由步驟依我們可以看到,若 worker 要加入已建立好的 swarm mode,只需要複製貼上剛剛那段 console 的指令就可以了。

$ docker swarm join --token SWMTKN-1-1h8e0f4efui3zxxpxglaibun7l7z6tcop8mfcelagw6i6lzwsj-7qby9dlsgu5ns4xulthq0xttx 192.168.1.100:2377

這麼一來,我們基本的 cluster 就建立好了

我們可以利用以下指令來查看現在 node 的情況:

$ docker node ls

Reference

Create a swarm

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *