0. swarm簡介
Swarm是Docker官方提供的一款集羣管理工具,其主要作用是把若干臺Docker主機抽象爲一個整體,並且通過一個入口統一管理這些Docker主機上的各種Docker資源。Swarm和Kubernetes比較類似,但是更加輕,具有的功能也較kubernetes更少一些。
可參考這篇博客: https://www.cnblogs.com/franknihao/p/8490416.html
裏面有自建swarm集羣的方法和swarm的架構圖。
1.swarm作用
用於管理docker資源。 自動化部署docker。分配物理資源。
2.swarm簡單使用。
這裏基於aliyun的swarm集羣來快速入門。
不自建swarm有如下原因:
1. 需要自己維護和搭建swarm。
2. 物理資源(機器), 較難實現自動部署和伸縮。(需要調用相應雲供應商的API)
3. web端控制相對來說使用雲供應商的會更好(更方便)。
1. 首先在aliyun上面創建docker倉庫。上傳自己的docker鏡像。
2. 在aliyun上選擇創建swarm集羣。
3. 其餘按照aliyun的文檔說明就可以。
3. 有一些小注意點。
1. docker image在swarm是非-d模式運行。 後臺運行由swarm執行。
2. docker expose只是說明容器要暴露某端口。 部署時候還需指明真正暴露的端口。
例如: ports:
- '80:80/tcp'
3. 在部署之前需要考慮好負載均衡的問題。
4. 以下是個簡單的編排模板:
app:
image: 'registry.cn-shenzhen.aliyuncs.com/app/app:latest'
mem_limit: 0
kernel_memory: 0
memswap_reservation: 0
restart: always
shm_size: 0
ports:
- '80:80/tcp'
memswap_limit: 0
labels:
aliyun.lb.port_80: 'https://app:443'
aliyun.scale: '2'