docker的swarm高可用集群的搭建

在三台虚拟机上安装docker
安装包下载,提取码ggc9

开启服务
server1为主节点
server2,3为工作节点

  • ############################1.开启swarm

server1上初始化swarm

docker swarm init

docker的swarm高可用集群的搭建_第1张图片
在server2,3上开启docker后都复制这个到shell

docker swarm join --token SWMTKN-1-0wdqnyzef4f7xn5tlf2drbwhgchfoj5hzxiar1d7li0py3xdzj-cnj5nrah9d1i5a7s5hrtw7sw3 172.25.16.1:2377

在这里插入图片描述
server1上查看节点信息

docker node ls

在这里插入图片描述
所有server上添加nginx镜像
一些封装好的docker镜像,提取码e4yf

cd ~/images/
docker load -i nginx.tar

docker的swarm高可用集群的搭建_第2张图片
在server1上查看网卡设备名
docker的swarm高可用集群的搭建_第3张图片
创建服务

docker service create --name web --publish 80:80 --replicas 3 nginx

docker的swarm高可用集群的搭建_第4张图片
安装这个服务可以查看桥接

yum install bridge-utils -y

在这里插入图片描述
查看网络服务状态

docker service ps web

在这里插入图片描述
写一个发布页文件复制到容器里
docker1
docker的swarm高可用集群的搭建_第5张图片
docker2
docker的swarm高可用集群的搭建_第6张图片
docker3
docker的swarm高可用集群的搭建_第7张图片
测试

for i in {1..10}; do curl 172.25.16.1;done

docker的swarm高可用集群的搭建_第8张图片
修改集群数量
测试

docker service scale web=6
for i in {1..10}; do curl 172.25.16.1;done

docker的swarm高可用集群的搭建_第9张图片
因为新的节点没有写发布页,所以会出现nginx的默认发布页,这是正常的。
也可以缩减
docker的swarm高可用集群的搭建_第10张图片

  • #############################################2.图形化监控
    导入镜像
cd images/
docker load -i visualizer.tar

docker的swarm高可用集群的搭建_第11张图片
部署

docker service create \
--name=viz \
--publish=8080:8080/tcp \
--constraint=node.role==manager \
--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \
dockersamples/visualizer

docker的swarm高可用集群的搭建_第12张图片真机浏览器连接172.25.16.1:8080
docker的swarm高可用集群的搭建_第13张图片

  • ###################################3.自动化更新镜像
    三个节点都导入httpd镜像
cd ~/images
docker load -i httpd.tar

输入命令更新
含义是docker服务更新
更新镜像为httpd
更新间隔为5s
更新节点个数为3
目标docker服务为web

docker service update --image httpd:latest --update-delay 5s --update-parallelism 3 web

docker的swarm高可用集群的搭建_第14张图片真机浏览器连接172.25.16.1:8080
此时nginx已经变为httpd
docker的swarm高可用集群的搭建_第15张图片

  • ######################################4.测试高可用
    在server2上停止docker服务
    真机浏览器连接172.25.16.1:8080
    docker的swarm高可用集群的搭建_第16张图片
    可见此时已经自动把节点分配到server3上

你可能感兴趣的:(企业级部署)