溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Docker Swarm集群怎么創(chuàng)建

發(fā)布時間:2022-01-27 15:12:46 來源:億速云 閱讀:243 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要介紹“Docker Swarm集群怎么創(chuàng)建”,在日常操作中,相信很多人在Docker Swarm集群怎么創(chuàng)建問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker Swarm集群怎么創(chuàng)建”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

Docker Swarm 是 Docker 官方三劍客項目之一,提供 Docker 容器集群服務(wù),是 Docker 官方對容器云生態(tài)進行支持的核心方案。使用它,用戶可以將多個 Docker 主機封裝為單個大型的虛擬 Docker 主機,快速打造一套容器云平臺。

Docker Swarm集群怎么創(chuàng)建

創(chuàng)建一個 swarm 集群

用這樣一條簡單的命令:

$ docker swarm init

就足夠創(chuàng)建一個 Swarm 了(雖然是一個只有簡易管理節(jié)點的 Swarm,但已經(jīng)是 Swarm 集群的最簡集合)。

$ docker node ls
ID                           HOSTNAME  MEMBERSHIP  STATUS  AVAILABILITY  MANAGER STATUS
7sytb3zk0yswdfky6mbh7nzk2 *  moby      Accepted    Ready   Active        Leader

來看看多節(jié)點吧!只有一個節(jié)點的 Swarm,用途是有限的,所以讓我們來創(chuàng)建一個有兩個管理節(jié)點(manager nodes)和兩個工作節(jié)點(worker nodes)的 Swarm。 首先,我們來創(chuàng)建 4 個 Docker 主機。Docker Machine 是完成此任務(wù)的理想工具,所以我們就用它。

$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
manager1 - virtualbox Running tcp://192.168.99.100:2376 v1.12.0-rc3
manager2 - virtualbox Running tcp://192.168.99.101:2376 v1.12.0-rc3
worker1 - virtualbox Running tcp://192.168.99.102:2376 v1.12.0-rc3
worker2 - virtualbox Running tcp://192.168.99.103:2376 v1.12.0-rc3

如果你手頭上沒有別的用 Machine 創(chuàng)建的主機,那么在顯示集群節(jié)點時,你的顯示信息就需要與下文給出的范例比較接近。

$ docker-machine ls
NAME              ACTIVE   DRIVER         STATE     URL                         SWARM   DOCKER        ERRORS
manager1          -        virtualbox     Running   tcp://192.168.99.100:2376           v1.12.0-rc3
manager2          -        virtualbox     Running   tcp://192.168.99.101:2376           v1.12.0-rc3
worker1           -        virtualbox     Running   tcp://192.168.99.102:2376           v1.12.0-rc3
worker2           -        virtualbox     Running   tcp://192.168.99.103:2376           v1.12.0-rc3

初始化 Swarm

上文介紹了一種用 1.12 版引擎來創(chuàng)建 Swarm 的最簡單的命令(提示:“docker swarm init”),但我們在這里還將調(diào)用幾種附加選項,讓集群主機可以互相通信,并在無需許可的情況下加入集群。

$ MANAGER1_IP=$(docker-machine ip manager1)
$ docker-machine ssh manager1 docker swarm init --auto-accept manager --auto-accept worker --listen-addr $MANAGER1_IP:2377

注意:–listen-addr 是 Swarm 內(nèi)不同節(jié)點互相訪問的地址

添加第二管理節(jié)點

Docker Swarm 命令中還需要添加一些選項:

* join:表明一個新的節(jié)點將被添加進 Swarm

* –manager:表明節(jié)點的性質(zhì)(manager vs worker)

* –listen-addr:讓一個新添加的節(jié)點可以訪問 Swarm 內(nèi)的其他節(jié)點

* 最后的參數(shù)就是第一管理節(jié)點的地址(即這一命令將被送到的那個節(jié)點)

***注意:*由于 –auto-accept manager 選項會在 Swarm 初始化的過程中被提供,所以第二管理節(jié)點會被自動接受。如果沒有這一選項,那么第二管理節(jié)點需要被第一管理節(jié)點手動接受。

$ MANAGER2_IP=$(docker-machine ip manager2)
docker-machine ssh manager2 docker swarm join --manager --listen-addr $MANAGER2_IP:2377 $MANAGER1_IP:2377

添加工作節(jié)點

往集群內(nèi)添加工作節(jié)點的方式,跟添加管理節(jié)點幾乎相同:

$ WORKER1_IP=$(docker-machine ip worker1)
$ docker-machine ssh worker1 docker swarm join --listen-addr $WORKER1_IP:2377 $MANAGER1_IP:2377
$ WORKER2_IP=$(docker-machine ip worker2)
$ docker-machine ssh worker2 docker swarm join --listen-addr $WORKER2_IP:2377 $MANAGER1_IP:2377

***注意:*由于 –auto-accept worker 選項會在 Swarm 初始化的過程中被提供,所以工作節(jié)點會被自動接受。如果沒有這一選項,那么工作節(jié)點需要被管理節(jié)點手動接受。

我們的 Swarm 看起來像什么呢?讓我們來看看。

$ docker-machine ssh manager1 docker node ls
ID                           HOSTNAME  MEMBERSHIP  STATUS  AVAILABILITY  MANAGER STATUS
109a5ufy8e3ey17unqa16wbj7    manager2  Accepted    Ready   Active        Reachable
4chbn8uphm1tidr93s64zknbq *  manager1  Accepted    Ready   Active        Leader
8nw7g1q0ehwq1jrvid1axtg5n    worker2   Accepted    Ready   Active
8rrdjg4uf9jcj0ma2uy8rkw5v    worker1   Accepted    Ready   Active

現(xiàn)在每個節(jié)點都歸屬于 Swarm,并都處在了待機狀態(tài)。管理節(jié)點 1 是領(lǐng)導(dǎo)者,一切都各居其位,井井有條,是什么使它如此特別呢? 這個 Swarm 是得到安全傳輸層協(xié)議(TLS)保證的,能在設(shè)備外自動認證升級。 Docker Swarm集群怎么創(chuàng)建

同樣,它也不再需要 Consul、Zookeeper 之類的鍵值存儲,所有東西都在掌控之中。 Docker Swarm集群怎么創(chuàng)建

到此,關(guān)于“Docker Swarm集群怎么創(chuàng)建”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI