docker哪個版本內置swarm

從“docker 1.12.0”版本開始內置swarm;swarm是用于管理docker集群的平臺,采用go語言完成的開發,從“1.12.0”版本開始,“Docker Swarm”已經包含在Docker引擎中,并且已經內置了服務發現工具,因此不需要再配置Etcd或者Consul來進行服務發現配置。

docker哪個版本內置swarm

本教程操作環境:linux7.3系統、docker19.03版、Dell G3電腦。

docker哪個版本內置swarm

Swarm 是 Docker 公司推出的用來管理 docker 集群的平臺,幾乎全部用 GO 語言來完成的開發的

Docker Swarm 和 Docker Compose 一樣,都是 Docker 官方容器編排項目,但不同的是,Docker Compose 是一個在單個服務器或主機上創建多個容器的工具,而 Docker Swarm 則可以在多個服務器或主機上創建容器集群服務,對于微服務的部署,顯然 Docker Swarm 會更加適合。

從 Docker 1.12.0 版本開始,Docker Swarm 已經包含在 Docker 引擎中(docker swarm),并且已經內置了服務發現工具,我們就不需要像之前一樣,再配置 Etcd 或者 Consul 來進行服務發現配置了。

docker哪個版本內置swarm

上圖可以看出,Swarm 是典型的 master-slave 結構,通過發現服務來選舉 manager。manager 是中心管理節點,各個 node 上運行 agent 接受 manager 的統一管理,集群會自動通過 Raft 協議分布式選舉出 manager 節點,無需額外的發現服務支持,避免了單點的瓶頸問題,同時也內置了 DNS 的負載均衡和對外部負載均衡機制的集成支持。

擴展知識

Docker Swarm 工作原理

1)Docker Engine client

docker service create:我們通過 docker service create 這個命令去創建一個服務。

2)swarm manager

API:這個請求直接由Swarm manager的API進行接收,接收命令并創建服務對象。

orchestrator:為服務創建一個任務。

allocater:為這個任務分配IP地址。

dispatcher:將任務分配到指定的節點。

scheduler:再該節點中下發指定命令。

3)worker node:接收manager任務后去運行這個任務

container:創建相應的容器。

worker:連接到調度程序以檢查分配的任務

executor:執行分配給工作節點的任務

Service:為一個副本,可以理解為是一個任務,一個任務是一個容器。

swarm manager:它將這個副本下發到三個可用的work節點。

container:實際的docker容器去運行應用。

task:work任務的名稱為service名稱后面跟.1根據個數以此類推。

docker哪個版本內置swarm

推薦學習:《docker視頻教程

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊6 分享