磁盘移臂调度实验_10 Swarm 的安装和基本的服务编排调度
Swarm 的安装和基本的服务编排调度
前提条件:
准备好三台测试用机器:
Ubuntu 18.04/ 1 CPU/ 2GB 内存/ 30GB磁盘
并且安装好Docker
安装Swarm
在master上执行
docker swarm init --advertise-addr 10.0.0.4
注意:复制docker swarm join --token 整段
在node上执行
docker swarm join --token xxxxxxxxxxxx
在master节点上查看node状态
docker node ls
部署可视化机架
docker service create
--name=viz
--publish=8000:8080/tcp
--constraint=node.role==manager
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock
dockersamples/visualizer
访问任一节点的8080端口即可看到visualizer的界面
部署第一个服务
docker service create --name web_server --publish 80:80 --replicas=3 yeasy/simple-web
在机架上观察副本和节点的对应情况
观察服务页面,对比docker第一个实验时该容器的行为,尤其是两段地址,多做几次F5
扩展服务
docker service scale web_server=9
同时观察机架上的变化
也可以访问前端页面,看看是否可以把访问请求定向到新的容器副本
排空一个节点,观察failover,如果是基于web的环境,(swarmVM02=worker1)
docker node update --availability drain swarmVM02
重新启动之前的节点,如果是基于web的环境,swarmVM02=worker1
docker node update --availability active swarmVM02
扩展服务规模,并且查看节点之间的负载均衡
docker service scale web_server=15
收缩服务
docker service scale web_server=3
查看服务
docker service ls
删除服务
docker service rm web_server
测试服务升级
创建测试服务
docker service create --name my_web --replicas=3 httpd:2.2.31
使用机架观察服务部署情况,需要特别注意容器的版本信息
2.2.31-->2.2.32
docker service update --image httpd:2.2.32 my_web
使用机架仔细观察升级过程
调整升级行为,服务规模增加到6个副本,每次更新2个副本,间隔时间45s
docker service update --replicas 6 --update-parallelism 2 --update-delay 45s my_web
2.2.32-->2.4.16
docker service update --image httpd:2.4.16 my_web
请仔细通过机架观察滚动更新过程
滚回
docker service update --rollback my_web
注意:swarm仅支持一次滚回
删除服务
docker service rm my_web
部署stack
创建yml文件
nano wordpress.yml
将以下内容拷贝到yml文件里
version: '3'
services:
db:
image: mysql:5.7
volumes:
- db_data:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "80:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
volumes:
db_data:
使用stack创建wordpress服务
docker stack deploy -c wordpress.yml wpstack
扩展前端
docker service scale wpstack_wordpress=4
同时可以借助weavescope检查前端和后端之间的调用情况
Swarm可视化管理
部署portainer
curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml
docker stack deploy --compose-file=portainer-agent-stack.yml portainer
部署Prometheus + Grafana
git clone https://github.com/stefanprodan/swarmprom.git
cd swarmprom
ADMIN_USER=admin
ADMIN_PASSWORD=admin
SLACK_URL=https://hooks.slack.com/services/TOKEN
SLACK_CHANNEL=devops-alerts
SLACK_USER=alertmanager
docker stack deploy -c docker-compose.yml mon
照例访问3000端口的dashboard
磁盘移臂调度实验_10 Swarm 的安装和基本的服务编排调度相关推荐
- 移臂调度算法c语言,磁盘移臂调度算法实验
操作系统实验报告 实验题目:实验八:磁盘移臂调度算法实验 软件环境:Linux操作系统 实验目的:加深对于操作系统设备管理技术的了解,体验磁盘移臂调度算法的重要性:掌握几种重要的磁盘移臂调度算法,练习 ...
- 1.2.7存储结构-磁盘管理:磁盘移臂调度算法、先来先服务(FCFS)、最短寻道时间优先(SSTF)、扫描算法(SCAN)、循环扫描(CSCAN)
1.2.7存储结构-磁盘管理:磁盘移臂调度算法.先来先服务(FCFS).最短寻道时间优先(SSTF).扫描算法(SCAN).循环扫描(CSCAN) 先来先服务(FCFS) 最短寻道时间优先(SSTF) ...
- 移臂调度算法java_C语言 磁盘调度模拟
什么是磁盘调度? 磁盘调度指待的是访问的磁道时,当前磁头访问的方式(也指待是算法).磁盘的访问也是一种I/O设备的访问,在数据访问中需要知道如何去访问从内存以及I/O传输过来的数据.怎么样去存储或者是 ...
- 49学习容器管理平台 Docker Swarm 的基本概念和应用,包括节点管理、服务编排
Docker Swarm 是 Docker 官方提供的容器编排工具,可以管理多个 Docker 节点,并支持自动化扩展.负载均衡等功能.下面是 Docker Swarm 的基本概念和使用方法,包括节点 ...
- 什么是移臂调度,什么是旋转调度?
移臂调度是指在满足一个磁盘请求时,总是选取与当前移动臂前进方向上最近的那个请求,使移臂距离最短. 旋转调度是指在满足一个磁盘请求时,总是选取与当前读写头旋转方向上最近的那个请求,是旋转圈数最少. 转载 ...
- 操作系统之移臂调度算法
本章分享操作系统之移臂调度算法,移臂调度算法是驱动调度技术中的算法,目的是减少为若干I/O请求服务所需消耗的总时间,从而提高系统效率.常见的移臂调度算法有先来先服务算法(FCFS).最短查找时间优先算 ...
- 用boson做vlan的单臂路由实验
用boson做vlan的单臂路由实验 2007-11-22 09:04 这次用boson做的vlan单臂路由实验比较简单,有人说用Dynamips说比较真实,可是vlan小实验用boson做已经足够了 ...
- linux处理机调度实验报告,处理机调度试验
<处理机调度试验>由会员分享,可在线阅读,更多相关<处理机调度试验(19页珍藏版)>请在人人文库网上搜索. 1.实验报告的基本内容及要求1实验预习在实验前每位同学都需要对本次实 ...
- 华为路由三层交互:单臂路由实验
一.实验拓扑 二.概述解释 前面我们学到VLAN,我们知道,同一VLAN的计算机之间是可以进行二层通信的,而不同VLAN的计算机是无法进行通信的. 虽然,不同VLAN不能通信,但并不代表就没办法通信, ...
最新文章
- 回溯算法——算法总结(四)
- [转载] 晓说——第16期:古代科举那些事——由来
- 《spring揭秘》读书笔记二
- python黑色背景编辑器_如何更换python默认编辑器的背景色
- win7中cookie的保存位置
- Eclipse集成Maven插件tomcat部署 Debug jar包的源码联结
- Oracle数据库优化器的优化方式
- AT2161-[ARC065D]シャッフル/Shuffling【dp】
- react核心虚拟dom_使用虚拟时间测试基于时间的React堆核心流
- 作者:石乾新(1989-),男,贵州大学公共管理学院硕士生。
- 百度地图订单分布php,php与百度地图API实现注册用户分布图
- Kafka:ZK+Kafka+Spark Streaming集群环境搭建(十二)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网。...
- java使用poi读取word(简单,简约,直观)
- WebStorm 6.0下运行pomelo项目
- vs2008/vs2010新手快速入门必读教程
- U盘快捷方式病毒修复
- 多示例论文泛读:Revisiting Multiple Instance Neural Networks (2016 mi-Net MI-Net)
- 两个重要极限及其推导过程
- 科技「垦荒」,AI护虎
- 择时 配置 选股0909