1.编排swarm简介
- 学习怎么将 docker 用于生产环境,前面学的是用于本地测试环境
- 之前学的是通过docker客户端连接安装好docker的 linux 机器,如下图
- 生产环境下机器和容器都非常多,怎么去管理容器?怎么横向扩展?如果容器down了怎么恢复?如何更新容器不影响业务?如何监控容器?如何调度容器的创建?如何保护隐私数据?
- swarm是内置于docker的容器编排工具
- swarm集群架构图,有manager和worker两种角色
- manager至少有两个,内置分布式存储数据库实现数据同步,这里是通过Raft进行数据同步的,不会出现脑裂的情况,最终实现HA
- worker之间通过gossip的网络做数据同步
- service和replicas,部署nginx的service,实际部署产生三个容器,三个容器通过调度系统,调度到不同的节点
- 也就是部署时,最初是不知道扩展节点会部署到哪里的,由swarm通过调度算法去算的,看哪个机器目前空闲
- 服务创建和调度
- 在swarm manage做决策,决定将worker部署到哪里
2.三节点swarm集群的搭建
- 准备三台装好docker的机器,这里做一个manager,两个worker
- 在主节点node01初始化swarm
- 运行完生成一行命令,子节点加入时,复制这一行代码执行就可以
- node02和node03分别作为worker加入
- 查看当前swarm节点
- 节点退出swarm集群
- 快速部署:
- 地址: https://labs.play-with-docker.com/
- 执行上面的步骤
3.创建维护Service并扩展
- 创建service
- 查看service状态
- 查看service创建的container的情况
- 然后在对应节点可以查看进程
- 将service横向扩展
- 查看一共有5个demo实例
- 不同节点查看进程,5个service平均分配到manager和workder
- node02中,删除一个容器
- 删完立刻去主节点查看,少了一个demo实例
- 主节点查看,会自动恢复
- 主节点删除service
4.使用DockerStack部署VotingApp
- 进入之前的/home/voting-example目录,将之前的docker-compose.yml内容删掉
- swarm模式编译运行
- 查看运行状态
- 查看运行详细情况,多次执行,直到部署好
- 访问IP:5000是投票的页面
- 访问IP:5001是查看结果的页面
- 集群运行状态下,将vote扩展为3个
- 查看到多了一个实例
- 停止并删除所有service
5.使用DockerStack部署可视化应用
- 创建目录
- 部署服务
- 查看stack部署情况
- 浏览器访问任意节点的9001端口
- 查看stack实例
- 集群运行状态下,将stack-demo_portainer扩展为3个
- 浏览器访问任意节点的9001端口,此时stack-demo_portainer变为了3个实例
- 删除stack实例
6.使用并管理DockerSecret
- secret可以是用户名和密码,也可以是SSH key,可以是任何不想让别人看到的数据
- docker swarm的架构如下,manager节点有基于raft的内置的分布式存储,是加密后存储的,worker信息也是加密是,也是分布式存储的
- 随意创建一个文件
- 创建secret
- 此时密码已经存储到manager的分布式存储中了
- 查看secret
- 也可以从标准输入创建
- 再次查看secret
- 删除secret
- 创建 mysql 的service
- 查看进程运行的节点,这里看到是node03运行的
- node03中查看进程
- node03中交互运行mysql
- 交互运行时可以查看密码,然后用这个密码登录mysql
7.更新service版本
- 创建demo网络
- 查看网络
- 创建service,可以去dockerHub查看nginx版本
- 访问80端口,会返回一个欢迎页
- 在node01写一个脚本,不停访问
- 在另一个会话,更新service的版本到1.13
- node02访问业务,自动切换到新版本
- 在另一个会话,更新访问端口
- node02访问,查看效果
学院 Go 语言视频主页
https://edu.csdn.net/lecturer/1928以上所述就是小编给大家介绍的《1.07 容器编排docker Swarm》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Docker 容器编排实践练习
- Kubernetes容器编排的三大支柱
- [译] 容器编排的优势与特点
- 1.09 容器编排Kubernetes
- Docker 多容器编排Swarm(六)
- Kubernetes 1.11.0 发布,容器编排工具
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Powerful
Patty McCord / Missionday / 2018-1-25
Named by The Washington Post as one of the 11 Leadership Books to Read in 2018 When it comes to recruiting, motivating, and creating great teams, Patty McCord says most companies have it all wrong. Mc......一起来看看 《Powerful》 这本书的介绍吧!