91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Docker Swarm中最重要的概念是什么

發布時間:2021-11-19 09:36:32 來源:億速云 閱讀:190 作者:柒染 欄目:云計算

本篇文章為大家展示了Docker Swarm中最重要的概念是什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

從主機的層面來看,Docker Swarm 管理的是 Docker Host 集群。所以先來討論一個重要的概念 - 集群化(Clustering)。

服務器集群由一組網絡上相互連接的服務器組成,它們一起協同工作。一個集群和一堆服務器最顯著的區別在于:

集群能夠像 單個 系統那樣工作,同時提供高可用、負載均衡和并行處理。

如果我們部署應用和服務時選擇的是多個獨立的服務器而非集群,資源的整體利用率則很難達到最優,因為我們無法提前知道如何分布這些應用才能達到資源利用的最大化。而且,應用使用資源的趨勢是波動的,早上某些服務可能需要大量的內存,而下午使用量就降下來了。提前指定應用應該運行在哪個服務器上會喪失業務的彈性,當某個服務器宕機了,我們不得不手工將受影響的應用遷移到其他服務器上。

實現集群化后我們的思維方式就必須改變了:不再考慮一個一個的服務器,而是將集群看做是一個整體。

部署應用時,我們只考慮需要多少內存和 CPU,而不是考慮會使用那臺服務器的內存和 CPU。我們不應該關心應用會被部署在哪里,我們關心的是運行這個應用需要哪些資源,然后將它部署到集群,集群管理程序(比如 Docker Swarm)會搞定這些細節。

集群整體容量的調整是通過往集群中添加和刪除主機節點實現的。但不管做怎樣的操作,集群始終還是一個整體。

我們會創建 Docker Swarm 集群、部署應用、伸縮擴展應用,以及對應用執行滾動升級。

Docker Swarm Mode

Docker v1.12 是一個非常重要的版本,Docker 重新實現了集群的編排方式。在此之前,提供集群功能的 Docker Swarm 是一個單獨的軟件,而且依賴外部數據庫(比如 Consul、etcd 或 Zookeeper)。

從 v1.12 開始,Docker Swarm 的功能已經完全與 Docker Engine 集成,要管理集群,只需要啟動 Swarm Mode。安裝好 Docker,Swarm 就已經在那里了,服務發現也在那里了(不需要安裝 Consul 等外部數據庫)。

相比 Kubernetes,用 Docker Swarm 創建集群非常簡單,不需要額外安裝任何軟件,也不需要做任何額外的配置。很適合作為學習容器編排引擎的起點。

重要概念

在創建集群之前,先明確幾個概念。

swarm

swarm 運行 Docker Engine 的多個主機組成的集群。

從 v1.12 開始,集群管理和編排功能已經集成進 Docker Engine。當 Docker Engine 初始化了一個 swarm 或者加入到一個存在的 swarm 時,它就啟動了 swarm mode。

沒啟動 swarm mode 時,Docker 執行的是容器命令;運行 swarm mode 后,Docker 增加了編排 service 的能力。

Docker 允許在同一個 Docker 主機上既運行 swarm service,又運行單獨的容器。

node

swarm 中的每個 Docker Engine 都是一個 node,有兩種類型的 node:manager 和 worker

為了向 swarm 中部署應用,我們需要在 manager node 上執行部署命令,manager node 會將部署任務拆解并分配給一個或多個 worker node 完成部署。

manager node 負責執行編排和集群管理工作,保持并維護 swarm 處于期望的狀態。swarm 中如果有多個 manager node,它們會自動協商并選舉出一個 leader 執行編排任務。

woker node 接受并執行由 manager node 派發的任務。默認配置下 manager node 同時也是一個 worker node,不過可以將其配置成 manager-only node,讓其專職負責編排和集群管理工作。

work node 會定期向 manager node 報告自己的狀態和它正在執行的任務的狀態,這樣 manager 就可以維護整個集群的狀態。

service

service 定義了 worker node 上要執行的任務。swarm 的主要編排任務就是保證 service 處于期望的狀態下。

舉一個 service 的例子:在 swarm 中啟動一個 http 服務,使用的鏡像是 httpd:latest,副本數為 3。

manager node 負責創建這個 service,經過分析知道需要啟動 3 個 httpd 容器,根據當前各 worker node 的狀態將運行容器的任務分配下去,比如 worker1 上運行兩個容器,worker2 上運行一個容器。

運行了一段時間,worker2 突然宕機了,manager 監控到這個故障,于是立即在 worker3 上啟動了一個新的 httpd 容器。

這樣就保證了 service 處于期望的三個副本狀態。

上述內容就是Docker Swarm中最重要的概念是什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

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

AI

宜兰市| 香河县| 普洱| 额尔古纳市| 尼勒克县| 广灵县| 曲阳县| 科尔| 恩平市| 丹巴县| 义马市| 信丰县| 岳阳县| 岳阳市| 肃南| 格尔木市| 枣庄市| 太白县| 东台市| 无棣县| 会同县| 加查县| 泽普县| 林西县| 绥芬河市| 休宁县| 丰县| 东港市| 手游| 丁青县| 蓬溪县| 察隅县| 晋宁县| 湖北省| 阳曲县| 镇原县| 德江县| 三门县| 泾川县| 营口市| 比如县|