Docker之swarm

Swarm 在Docker1.12版本之前属于一个独立的项目,在Docker1.12版本发布之后,该项目合并到了Docker中,成为Docker的一个子命令。Swarm是Docker 社区提供的唯一一个原生支持Docker集群管理的工具。Swarm可以把多个Docker 主机组成的系统转换为单一的虚拟 Docker主机,使得容器可以组成跨主机的子网网络。Docker Swarm 是一个为IT运维团队提供集群和调度能力的编排工具。

swarm的管理体系

·Docker Swarm 优点
·任何规模都有高性能表现
·灵活的容器调度
·服务的持续可用性
·和DockerAPI及整合支持的兼容性
·Docker Swarm为Docker化应用的核心功能(诸如多主机网络和存储卷管理)提供原生支持。

做swarm初始化

docker swarm init
docker notes ls

一个master,两个worker

然后在server2和server3中分别启动docker

systemctl daemon-reload
systemctl restart docker

同时保证他们能上网

·docker swarm 相关概念
·节点分为管理(manager)节点和工作(worker)节点
·任务(Task)是Swarm中的最小的调度单位,目前来说就是一个单一的容器。
·服务(Services)是指一组任务的集合,服务定义了任务的属性。

docker network create -d overlay mynet

我们创建一个服务

docker service create --name my_cluster --network mynet --replicas 3 -p 80:80 ikubernetes/myapp:v1

如果myapp镜像没有的话会从外网下载

docker ps my_cluster,查看容器在三个节点的运行状态

然后我们部署一个监控

先拉取资源

docker pull dockersamples/visualizer

然后我们再创建一个服务

然后我们打开浏览器去查看

这三个节点均能实现负载均衡

如果节点不够用我们可以做拉伸

docker service scale my_cluster=6

6个节点也可以做缩减(弹性压缩

docker service scale my_cluster=3

滚动更新--然后我们可以批量的进行更新容器

一次更新3个间隔五秒

这样刚才的v1都别更新为v2了

编辑我们docker compose文件

然后我们读取compose文件

docker stack deploy -c docker-compose.yml my_cluster

查看部署

修改conpose文件

给节点设置内存和cpu,保证一个资源限制

然后我们节点需要的镜像都上传到harbor仓库中

ikubernetes/myapp:v1、ikubernetes/myapp:v2均长传到仓库中,然后删除本地的镜像

然后修改我们的私有仓库vim daemon.json(server1\2\3)

{
"registry-mirrors":["https://reg.westos.org"]
}

然后

systemctl daemon-reload

systemctl reatart docker

也要保证解析是正确的(/etc/hosts)

然后拉取尝试、

发现连接成功

修改名字myapp: 
 image: myapp:v1
修改端口ports:
"8000:80"

然后我们部署创建

还可以创建滚动更新(vim compose.yml)

myapp:
image:myapp:v2

部署一下

查看更新

然后去访问查看一下8000端口

我们也可以通过portainer

进行图形可视化的监控

然后我们在harbor上创建一个portainer的项目

docker tag portainer/portainer:latest reg.westos.org/portainer/portainer:latest放到我们的私有仓库中

docker push reg.westos.org/portainer/portainer:latest然后上传

然后我们部署

docker stack deploy -c portainer-agent-stack.yml portainer

然后我们访问9000端口强制修改密码登录

这样就可以查看我们的集群监控

也可以直接在上述界面部署服务

我们先删除我们的my_cluster

然后设置register

然后在服务栏

添加名字,端口网络等信息

直接create

也可以进行拉伸直接修改后面的数字即可

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值