1. 程式人生 > 其它 >docker 應用篇————swarm[二十]

docker 應用篇————swarm[二十]

前言

簡單介紹一下swarm。

正文

前提,docker 安裝。

有3臺機器,全部按照了docker。

現在開始搭建叢集。

首先需要初始化:

然後需要注入:

注入之後,那麼需要就是啟動節點加入進來,那麼怎麼加入進來呢?

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

    docker swarm join --token SWMTKN-1-3rgcg67nzzv3gvf45uwqgzl0spezh6ko91fm3qh1slpcijfp0z-5y0rj2u4xu1ldy2pwn3yp7ni1 192.168.0.104:2377

上面已經告訴我們如何加入了。

然後再另外兩臺機器上加入。

然後用docker node ls 看一眼:

這樣子加入的都是worker節點,那麼如何加入manager節點呢?

生成manager 節點的祕鑰:

然後別的機器使用這個就可以加入了。

這樣就是一個管理節點了。

可能對上面這些行為有點迷惑,那麼看下面這兩張圖吧。

加入為manager 節點,那麼就可以管理其他work節點了。

這樣就形成了雙主雙從。

那麼如果有一個worker節點掛了,其他節點是否可用呢?

這臺機器宕機了,然後使用docker node ls依然可用。

那麼如果是一個manager節點掛了呢?

然後就發現不可用了,這是因為要超過一半manager的節點要為存活。

那麼現在我們知道起碼3才作為manager節點。

那麼現在我得弄成3臺manager。

那麼看下如何leader節點掛了會怎麼樣。

會發現另外一臺變成了leader了。

那麼就可以建立我們的容器了。

這裡用一個nginx舉例子。

然後使用docker service ps my-nginx 檢視一下。

我們可以到那臺機器上去看一下,發現是ok的。

那麼如何我們要動態擴容呢?

使用docker service update --replicas 3 my-nginx 擴容到3個。

當然docker service scale my-nginx=3 也是可以擴容的。

docker 暫時到這裡,後續不斷的補充大量例子。