docker中Swarmmode是什么

這篇文章給大家介紹docker中Swarm mode是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)公司!專注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、成都小程序開發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了港口免費(fèi)建站歡迎大家使用!

一般情況下,我們都在一臺(tái)機(jī)器下部署容器,但實(shí)際情況下,應(yīng)用如果只在一臺(tái)機(jī)器上無(wú)法滿足我們的需求,包含的容器比較多。因此在生產(chǎn)環(huán)境下部署我們的應(yīng)用就會(huì)涉及到非常多的容器,這樣就會(huì)給我們帶來一系列的問題:

  • 怎么去管理這么多的容器?

  • 怎么能方便的橫向擴(kuò)展?

  • 如果容器down了,怎么能自動(dòng)恢復(fù)?

  • 如何去更新容器而不影響業(yè)務(wù)?

  • 如何去監(jiān)控追蹤這些容器?

  • 怎么去調(diào)度容器的創(chuàng)建?

  • 保護(hù)隱私數(shù)據(jù)?

這樣我們就需要容器編排技術(shù),Swarm Mode應(yīng)運(yùn)而生。

docker中Swarm mode是什么

Swarm 并不是唯一一個(gè)可以做容器編排的工具,只不過Swarm是內(nèi)置于docker的一個(gè)工具。因此我們使用Swarm時(shí)不需要安裝任何東西,Swarm已經(jīng)內(nèi)置到我們系統(tǒng)里面了,只不過我們沒有運(yùn)行在Swarm 模式下,我們一般運(yùn)行在單機(jī)模式下。因此swarm就是初學(xué)者接觸容器編排的第一個(gè)工具。

Swarm 架構(gòu)

docker中Swarm mode是什么

Swarm是一種集群架構(gòu),既然是集群,那么一定有節(jié)點(diǎn),有節(jié)點(diǎn)那么就有角色。在Swarm中節(jié)點(diǎn)node一共有兩種角色,第一種角色叫Manager,第二種角色叫worker。

Manager節(jié)點(diǎn)好比集群的大腦,在生產(chǎn)環(huán)境中,為了避免單點(diǎn)故障,“大腦”至少要有兩個(gè),因此會(huì)有狀態(tài)同步,即在一個(gè)Manager產(chǎn)生的數(shù)據(jù)如何同步到另外的Manager節(jié)點(diǎn)上,這里就涉及到一個(gè)內(nèi)置的分布式存儲(chǔ)數(shù)據(jù)庫(kù),數(shù)據(jù)通過raft協(xié)議去做同步。raft協(xié)議能夠確保Manager節(jié)點(diǎn)的信息是對(duì)稱的,同步的,可以避免腦裂的情況。

Worker節(jié)點(diǎn)就是真正干活的節(jié)點(diǎn),真正的容器部署在cluster中都會(huì)運(yùn)行在Work節(jié)點(diǎn)中,當(dāng)然Manager節(jié)點(diǎn)也可以運(yùn)行,但是一般都運(yùn)行在Worker節(jié)點(diǎn)中,因?yàn)閃orker節(jié)點(diǎn)比較多。Worker節(jié)點(diǎn)之間也有數(shù)據(jù)需要同步,是通過Gossip網(wǎng)絡(luò)來做信息同步。

docker中Swarm mode是什么

Swarm中一個(gè)非常重要的概念是Service和Replicas。

Service在上一節(jié)中介紹docker compose的時(shí)候有介紹過,在Swarm中的service與docker compose下的service的意思基本一樣。一個(gè)service就代表了一個(gè)容器。

在Replicas模式下,即我們想做橫向擴(kuò)展,再部署的過程中,一個(gè)replicas就是一個(gè)容器。

如上圖所示,我們想部署一個(gè)Nginx的service,想要給他做3個(gè)擴(kuò)展,實(shí)際上部署的過程中會(huì)產(chǎn)生三個(gè)容器,這三個(gè)容器會(huì)通過調(diào)度系統(tǒng)調(diào)度到不同的node上面去。也就是說我們通過Swarm Manager節(jié)點(diǎn)去部署一個(gè)service,其實(shí)是不知道這個(gè)service最終會(huì)運(yùn)行在哪個(gè)節(jié)點(diǎn)上,這回根據(jù)Swarm的schedule根據(jù)一定的調(diào)度算法去算的,例如算法會(huì)根據(jù)節(jié)點(diǎn)的負(fù)載來選擇。

docker中Swarm mode是什么

上面這張圖就是swarm算法調(diào)度的一個(gè)過程。在swarm manager上做一些決策,來決定把哪個(gè)service部署在哪臺(tái)node上,然后在去執(zhí)行實(shí)際的一個(gè)操作就可以了。

關(guān)于docker中Swarm mode是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

當(dāng)前文章:docker中Swarmmode是什么
轉(zhuǎn)載來源:http://bm7419.com/article24/pcegje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站App開發(fā)、小程序開發(fā)建站公司、網(wǎng)站維護(hù)、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化