Dockers的swarm集群

创建swarm集群

docker swarm init

在这里插入图片描述
加入集群

docker swarm join --token SWMTKN-1-32dwznrteyapyobhd7kdj8g7hrsufgmq4zb0rdepp39wtkoib1-3yz4o906eh5nce0uverycc2ql 172.25.33.1:2377

在这里插入图片描述
创建集群使用的网络

docker network create -d overlay webnet

在这里插入图片描述
添加nginx镜像(所有主机均需要存在该镜像)

docker load -i nginx.tar

在这里插入图片描述
部署nginx服务
如果显示no-such-image@sha…错误,但实际镜像存在,可以使用–no-resolve-image参数解决
(–mode=global)每台主机均只有一个节点,不需要–replicas 3参数,自动同步已存在主机的内容

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

在这里插入图片描述
集群扩展

docker service scale web=6

复制主文件(所有节点都需要)

docker cp  index.html web.1.mpt1x2u1elh3zkw165bbtg4n5:/usr/share/nginx/html

在这里插入图片描述
进行访问测试(负载均衡)
在这里插入图片描述
添加swarm集群监控
下载得到文件

docker load  -i visualizer.tar 

在这里插入图片描述
执行以下命令

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 service scale web=6

在这里插入图片描述
导入一个新的镜像

docker load -i game2048.tar

每隔五秒更新,每次更新5个机子,是为了防止在更新过程中出现问题即使终止并且可以版本回退

docker service update --image game2048 --update-delay 5s --update-parallelism 5 web    
docker  ps -aq | wc -l

在这里插入图片描述
在这里插入图片描述
以配置文件方式执行

 version: "3.7"
services:



  web:
    image: nginx:latest
    ports:
      - "80:80"
    networks:
      - webnet
    volumes:
      - "webdata:/usr/share/nginx/html"
    deploy:
      replicas: 6
      update_config:
        parallelism: 2
        delay: 10s
      restart_policy:
        condition: on-failure


  visualizer:
    image: dockersamples/visualizer:stable
    ports:
      - "8080:8080"
    stop_grace_period: 1m30s
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    deploy:
      placement:
        constraints: [node.role == manager]
networks:
  webnet:
volumes:
  webdata:

执行命令,加载服务

docker stack deploy -c docker-compose.yml  example     

在这里插入图片描述

Portainer可视化界面
服务端

docker load -i portainer.tar 
docker load -i portainer-agent.tar 
docker stack deploy --compose-file=portainer-agent-stack.yml portainer

文件内容

version: '3.2'

services:
  agent:
    image: portainer/agent
    environment:
      # REQUIRED: Should be equal to the service name prefixed by "tasks." when
      # deployed inside an overlay network
      AGENT_CLUSTER_ADDR: tasks.agent
      # AGENT_PORT: 9001
      # LOG_LEVEL: debug
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /var/lib/docker/volumes:/var/lib/docker/volumes
    networks:
      - agent_network
    deploy:
      mode: global
      placement:
        constraints: [node.platform.os == linux]

  portainer:
    image: portainer/portainer
    command: -H tcp://tasks.agent:9001 --tlsskipverify
    ports:
      - "9000:9000"
    volumes:
      - portainer_data:/data
    networks:
      - agent_network
    deploy:
      mode: replicated
      replicas: 1
      placement:
        constraints: [node.role == manager]

networks:
  agent_network:
    driver: overlay
    attachable: true

volumes:
  portainer_data:

客户端

docker load -i portainer-agent.tar 

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值