Swarm集群弹性创建服务
扩缩容功能,创建服务,动态扩展服务,更新服务,日志,灰度发布(更新网站(服务)时依旧提出服务,不挂404)
功能:扩缩容功能(扩容:增加容器,缩容:减少容器),灰度发布
目的:创建 nginx 服务、动态扩展服务、动态更新服务
# docker service --help
Usage: docker service COMMAND
Manage services
Commands:
create # 创建一个新服务
inspect # 显示一个或多个服务的详细信息
logs # 获取服务或任务的日志
ls # 服务列表
ps # 列出一个或多个服务的任务
rm # 删除一个或多个服务
rollback # 回滚恢复对服务配置的更改
scale # 扩展扩展一个或多个复制业务
update # 更新服务
1、创建服务(192.168.64.134)
以前是docker run(单机),现在是 docker service (集群)
docker service create -p 8888:80 --name my-nginx nginx
2、查看服务(192.168.64.134)
# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
cccvbtrm38lt my-nginx replicated 1/1 nginx:latest *:8888->80/tcp
虽然是在192.168.64.134机器上创建的,但也有可能跑在其他机器上
# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a9c147315120 nginx:latest "/docker-entrypoint.…" About a minute ago Up About a minute 80/tcp my-nginx.1.z9q9ym9npjh6nx5mrmz0whcfa
查看my-nginx 服务的状态
# docker service ps my-nginx
ID NAME IMAGE NODE DESIRED STATE CURRENT STATE ERROR PORTS
z9q9ym9npjh6 my-nginx.1 nginx:latest 192.168.64.134 Running Running 28 minutes ago
3、动态扩缩容,扩容到3个副本 集群中的任意节点都可访问,实现高可用
# docker service update --replicas 3 my-nginx
my-nginx
overall progress: 3 out of 3 tasks
1/3: running
2/3: running
3/3: running
verify: Service converged
动态扩容成功
# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
cccvbtrm38lt my-nginx replicated 3/3 nginx:latest *:8888->80/tcp
4、动态扩缩容(scale 同 updata)
$ docker service scale my-nginx=10
# docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
cccvbtrm38lt my-nginx replicated 10/10 nginx:latest *:8888->80/tcp
动态更新nginx成3个副本,三台主机上都有nginx服务。(但用第四台主机的ip也能访问到nginx)
5、动态缩容,回滚到1个
$ docker service scale my-nginx=1
# docker service scale my-nginx=1
my-nginx scaled to 1
overall progress: 1 out of 1 tasks
1/1: running [==================================================>]
verify: Service converged
k8s更难,功能更多。swarm相当于简单版的k8s
Swarm总结
swarm
集群的管理和编号。docker可以初始化一个swarm集群,其他节点可以加入。(管理、工作者)
Node
就是一个docker节点。多个节点就组成了一个网络集群。(管理、工作者)
Service
任务,可以在管理节点或者工作节点来运行。核心。!用户访问!
原文地址:http://www.cnblogs.com/yutoujun/p/16915194.html
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请务用于商业用途!
3. 如果你也有好源码或者教程,可以到用户中心发布,分享有积分奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"gltf",如遇到无法解压的请联系管理员!
8. 因为资源和程序源码均为可复制品,所以不支持任何理由的退款兑现,请斟酌后支付下载
声明:如果标题没有注明"已测试"或者"测试可用"等字样的资源源码均未经过站长测试.特别注意没有标注的源码不保证任何可用性