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'