Docker Swarm Mode簡介與核心概念

2022-01-10 11:52:49 字數 1231 閱讀 9510

docker swarm是docker官方的一種容器編排方案,用於管理跨主機的docker容器,可以快速對指定服務進行水平擴充套件、部署、刪除

乙個docker swarm集群通常由多個安裝有docker且執行在docker swarm mode的主機組成,角色包含managers(管理者)、workers(執行節點),乙個節點可以兼擁有這兩個角色或之一

在docker 1.12以前,docker swarm作為乙個獨立的集群容器編排軟體(swarmkit)形式存在,在之後,它與docker整合在了一起,可以稱之為docker swarm mode

每台加入docker swarm的主機即是乙個節點,這是最簡單的理解,每個節點可以是管理節點(manager nodes),也可以是執行節點(worker nodes),亦可兼具這兩個角色

當部署服務到swarm集群的時候,你將乙個service提交到manager nodes,manager nodes會被服務拆分成task(swarm中最小粒度,可能僅包含乙個容器),分發到worker nodes,worker nodes執行接收到的task,完成部署,manager nodes監聽服務的狀態

乙個service定義了很多執行在workers節點與managers節點上的task

建立乙個service時需要指定docker映象,以及執行的命令或引數,當使用replicated services模式時,manager節點分發你指定的scale因子數量的複製task到乙個worker節點上;使用global services模式時,則為集群中每乙個worker節點建立指定數量的複製task

每個task承載著乙個執行著應用服務的容器,manager節點通過設定的scale因子數分配task到執行節點上,乙個task只能執行在乙個worker節點中,只有執行與失敗兩個狀態

swarm manager通過入口負載均衡ingress load balancing)暴露的埠作為負載均衡策略

manager缺省會為service會分配乙個未被占用的埠,稱為publishedport(也可自行指定),範圍在30000-32767之間,外部服務訪問publishedport來訪問執行中的task

swarm會將所有集群內的請求,**到正常執行的節點上

Docker Swarm mode與滾動公升級

swarm mode與滾動公升級 swarm裡面有個很好的姿勢,就是可以動態的更新某個服務對應的映象,已達到滾動公升級的目的,而不是重新製作這個服務,並且重新製作的話不光麻煩,還不好管理,swarm的這個滾動公升級是可以直接通過替換映象來公升級,之後還可以檢視記錄,並且隨時切換到任何乙個映象上。還是...

ElasticSearch系列04 核心概念

一 es配置檔案詳解 elasticsearch.yml es的基本配置檔案 詳見elasticsearch中文.yml logging.yml 日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置來設定就行了。二 es中的核心概念 cluster...

深入Spring Spring的幾個核心概念

spring是乙個輕量級的控制反轉 ioc 和面向切面的 aop 的容器框架 3.1 容器 spring作為乙個容器,可以管理物件的生命週期 物件和物件之間的依賴關係。可以通過配置檔案來定義物件,以及設定與其他物件之間的依賴關係。3.2 ioc 控制反轉是乙個概念,是一種思想。控制反轉就是對物件控制...