中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Docker Swarms跨主機集群搭建的具體步驟

發布時間:2021-09-08 14:56:15 來源:億速云 閱讀:118 作者:chen 欄目:服務器

這篇文章主要介紹“Docker Swarms跨主機集群搭建的具體步驟”,在日常操作中,相信很多人在Docker Swarms跨主機集群搭建的具體步驟問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Docker Swarms跨主機集群搭建的具體步驟”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

解決的問題

  1. 想要在多臺物理實體機或虛擬機,而不是一臺機器上構建集群。

  2. 由于使用windows10 + VirtualBox,并在VirtualBox中安裝linux系列系統,并卡在文檔”docker-machine create —driver virtualbox myvm1”

搭建環境

搭建時間:2019.8.16
設備系統:windows10
虛擬軟件:VirtualBox
虛擬系統:Ubuntu 18.04 LTS

背景

為什么我會想到要在多臺物理實體主機或虛擬機來搭建集群呢?原因有兩個:單臺設備性能極限、災備。第一條原因很好理解,單臺設備的性能極限。災備的出發點并不是容器內單個服務宕機的情況,而是物理范疇的災備。國內可靠性達到99.99%的云服務供應商不時宕機的新聞時常會會有報導,但我們是否有在同一時間段內,兩個或兩個以上云服務上同時宕機的新聞,我們有曾聽過嗎?

理論分析一下,以99.99%作為標準,這個數字乍一看確實有種萬無一失的感覺,但折算成絕對值的時間,卻是:52.56分鐘/年。如果我們將服務同時部署在兩個不同的云服務商上呢?服務理論宕機時間為:0.31秒/年。當然這只是個理論分析,只是在相同預算下,購買分布在2個或多個云服務商的主機來搭建集群,對服務的可靠性提升是否是一個更好的方案呢?

思路

Docker文檔在Swarms部分通過”docker-machine create —driver virtualbox myvm1”命令宿主系統內創建虛擬節點,但該命令在本就已經是由虛擬機創建的ubuntu系統內是無法執行成功的,參見JerryWang的Blog。解決這個問題的方法有很多,雙系統、使用Mac等都可行,但受限于某些客觀原因,并且想要嘗試跨主機構建集群,因此采用了以下解決方案:在VirtualBox虛擬出3套ubuntu系統:A、B、C。其中將A等價為教程中的宿主操作系統,B、C等價為教程中宿主操作系統中的兩個節點。通過連通A、B、C來達到與教程在該處相同的效果,同時也是實現了跨主機集群的搭建。

具體步驟

  1. 在主機A中預先裝好docker(參見官網教程), B、C虛擬機只需要安裝ssh服務器即可。(B、C可以為云服務商的虛擬主機)

  2. 使用以下指令獲取B、C虛擬機的IP地址。

    ifconfig                              // 若信息過長使用 ifconfig >> output 輸出大文件里使用vim打開查看

  3. B、C主機配置ssh允許直接使用root帳號登錄:在/etc/ssh/sshd_config文件內,添加

    PermitRootLogin yes

  4. 在A中執行以下命令生成密鑰文件(此步驟開始的所有操作都只需在A中完成)

    ssh-keygen

  5. 將公鑰復制到B、C

    ssh-copy-id IP
    //執行兩次,分別將IP替換為B、C的IP

Docker Swarms跨主機集群搭建的具體步驟

  1. 使用一下指令驗證是否配置成功

    ssh IP    //成功后使用logout推出登錄

  2. 使用以下指令在A中給B、C安裝docker。(同時也將建立起A與B、C的鏈接)

    // docker文檔到此處前并沒有要求安裝docker-machine,參見 官方文檔安裝
    // 此命令需要執行兩次,分別使用B、C的IP,NodeName官方文檔分別命名為了:myvm1 、myvm2,此處我命名為docker1、docker2
    docker-machine create -d generic —generic-ip-address=IP NodeName

Docker Swarms跨主機集群搭建的具體步驟

  1. 使用以下指令檢查連接是否建立完成

    docker-machine ls

Docker Swarms跨主機集群搭建的具體步驟

解釋說明

  1. 以上步驟實現的效果就可以將獨立的多臺物理主機或位于不同平臺的虛擬機實現連接,同時也等效官方文檔以下兩條指令,可以縫銜后續接教程內容

    docker-machine create --driver virtualbox myvm1
    docker-machine create --driver virtualbox myvm2
  2. 關于IP,若是同我一樣的場景(擁有固定IP的主機和云服務器除外),不推薦去花費時間在局域網內配置靜態IP,因為還需要在/etv/netplan(ubuntu17.04以后啟用的)的配置文件里配置子網掩碼、網關以及DNS服務器等,很容易出錯。花費時間與學到東西的性價比不高,IP是會發生變化,但從實際操作來說,這個時間差足夠完成練習。

  3. 為什么需要在B、C中修改ssh配置文件?由于ssh默認不可使用root帳號登錄,常規流程我們都是使用自己創建的帳號,如:ubuntu登錄,再使用sudo su切換到root帳號,但在該場景下需要主機允許直接使用root賬號登陸。

后記

完成docker swarms教程效果截圖如下
Docker Swarms跨主機集群搭建的具體步驟

完成docker所有get-star教程的效果如下
Docker Swarms跨主機集群搭建的具體步驟

到此,關于“Docker Swarms跨主機集群搭建的具體步驟”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万盛区| 蓬莱市| 如东县| 云浮市| 白河县| 宜兰市| 青川县| 东山县| 社会| 巫溪县| 吉安市| 印江| 郧西县| 墨玉县| 英德市| 新巴尔虎右旗| 布拖县| 晋中市| 巨野县| 铜川市| 湖北省| 台北市| 漳州市| 巴楚县| 万荣县| 金山区| 许昌市| 东阿县| 漳州市| 肇源县| 敦化市| 谷城县| 岱山县| 新宁县| 山西省| 格尔木市| 和政县| 乌兰县| 上饶县| 淳化县| 台前县|