docker 應用篇————swarm[二十]
阿新 • • 發佈:2021-08-09
前言
簡單介紹一下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 暫時到這裡,後續不斷的補充大量例子。