docker swarm是一個docker集羣管理的應用,類似應用還有很多,只是這個直接集成在1.12的docker版本中
主要繼承了swarm的集羣安全特性
K-V存儲
swarmkit的節點分爲兩類
worker 工作節點
用於接受管理節點的機器,執行命令執行容器任務,
manager 管理節點,
用來接收用戶的命令請求,調整羣集狀態,分配容器擁有最高權限
兩個節點狀態可以隨意切換,manager爲了實現高可用,需要兩臺以上纔可以
----------------------------------------------------------------------------------------------------------------
swarm是通過主機名跟域名互相通信
所以有條件可以使用DNS
簡單的直接修改hosts文件即可
swarm需要開啓一些端口
TCP,2377 羣集管理端口
TCP/UDP 7946節點通訊端口 4789 overlay網絡通訊端口
for i in 1 2 3 ; do ssh node$i firewall-cmd --add-port=2377/tcp ; done
for i in 1 2 3 ; do ssh node$i firewall-cmd --add-port=7946/tcp ; done
for i in 1 2 3 ; do ssh node$i firewall-cmd --add-port=7946/udp ; done
for i in 1 2 3 ; do ssh node$i firewall-cmd --add-port=4789/udp ; done
for i in 1 2 3 ; do ssh node$i firewall-cmd --add-port=4789/tcp ; done
for i in 1 2 3 ; do ssh node$i firewall-cmd --reload ; done
方便使用for循環開啓端口for 變量 in 取值範圍 ; do 執行的語句 ; done 格式
------------------------------------------------------------------------------------------------------------------------------
初始化swram集羣
使用命令創建集羣,中間兩個命令一個是添加主機成爲工作節點,一個是成爲管理節點/
查看集羣信息,
複製上面命令到其他機器運行會自動加入集羣
先開啓路由轉發功能,所有機器都要開
使用node1 當私有倉庫
一般使用都會用反向代理解析,
如果沒有就直接指定了
然後只要容器名字指定192.168.1.1:5000就可以存放或者下載 本地倉庫了
swram使用的網橋是公用的overlay
自己可以創建,
上面是本身有的,overlay是作用在swarm羣集中的
使用create創建命令創建一個自己的網絡
manage會直接獲取新的網絡
worker只有在需要使用的時候纔會更新需要的網絡
只需要在主控制機使用service create 就可以創建需要的鏡像,這就是集羣管理
--replicas是指定多少個鏡像
--network 指定網絡
可以查看服務當前有多少個副本
查看某個服務都運行在那個節點上,狀態如何
--mode global 是全局模式,副本個數隨着節點的數量走,每個節點都會生成一個副本
swarm那個容器如果出現問題就會自動在其他節點開啓保持容器的數量.