swarm基础配置

准备三台虚拟机,对应网络条件如下:IP地址主机名作用172.18.74.26manager管理节点172.18.74.29g160402worker172.18.74.25u180402worker按照上述条件修改主机名,并向/etc/hosts添加其他两个节点的解析配置将所有的节点的 docker daemon 的监听方式更改为0....
摘要由CSDN通过智能技术生成
  1. 准备三台虚拟机,对应网络条件如下:

    IP地址 主机名 作用
    172.18.74.26 manager 管理节点
    172.18.74.29 g160402 worker
    172.18.74.25 u180402 worker

    按照上述条件修改主机名,并向/etc/hosts添加其他两个节点的解析配置

  2. 将所有的节点的 docker daemon 的监听方式更改为0.0.0.0:2375

    • 配置一

      #修改[service] ExecStart 行如下
      example@manager:~$ sudo vi /lib/systemd/system/docker.service
      ExecStart=/usr/bin/dockerd -H 0.0.0.0:2375 -H unix:///var/run/docker.sock
      example@manager:~$ sudo systemctl daemon-reload
      example@manager:~$ sudo systemctl restart docker
      
    • 配置二

      example@u180402:~$ cat /etc/docker/daemon.json
      {
             
        "registry-mirrors": [
          "https://reg-mirror.qiniu.com",
          "https://hub-mirror.c.163.com",
          "https://registry.aliyuncs.com"
        ],
        "hosts" : ["unix:///var/run/docker.sock", "tcp://0.0.0.0:2375"]
      }
      example@manager:~$ sudo vi /lib/systemd/system/docker.service
      ExecStart=/usr/bin/dockerd
      example@manager:~$ sudo systemctl daemon-reload
      example@manager:~$ sudo systemctl restart docker
      
  3. 初始化集群

    • 创建管理节点

      example@manager:~$ docker swarm init --advertise-addr 172.18.74.26
      Swarm initialized: current node (w78pv2cxmucv2vca3v5r069wt) is now a manager.
      
      To add a worker to this swarm, run the following command:
      
          docker swarm join --token SWMTKN-1-1fffxrlpybn1oz0qsff9ywxuz7ef1o7v6c4qqf6kwvckt6bphi-6t9lfyat23n99do5y9mpdtdkg 192.168.1.154:2377
      
      To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
      
    • 初始化管理节点后,会创建两个新的网络docker_gwbridge、ingress

      example@manager:~$ docker network ls
      NETWORK ID          NAME                DRIVER              SCOPE
      6b3877ce1c6f        bridge              bridge              local
      6f5af407c445        docker_gwbridge     bridge              local
      25066e8c0d9e        host                host                local
      p5dq2m8snezx        ingress             overlay             swarm
      b512147e5000        none                null                local
      
      • bridge 是docker默认创建的网络,存在于所有docker容器中。docker引擎自动创建子网络和路由,docker run 命令将自动添加新的容器到这个网络。
      • docker_gwbridge 是节点加入swarm是自动创建的网络,作为不同主机的swarm 节点通讯网络。
      • overlay跨主机网络仅对swarm中需要服务的节点可用。当你创建一个使用overlay网络的服务,管理节点自动扩展overlay网络到那个运行服务任务的节点中。
    • node 节点加入集群

      #g160402
      example@g160402:~$  docker swarm join --token SWMTKN-1-1fffxrlpybn1oz0qsff9ywxuz7ef1o7v6c4qqf6kwvckt6bphi-6t9lfyat23n99do5y9mpdtdkg 172.18.74.26:2377
      This node joined a swarm as a worker.
      #u180402
      example@u180402:~$  docker swarm join --token SWMTKN-1-1fffxrlpybn1oz0qsff9ywxuz7ef1o7v6c4qqf6kwvckt6bphi-6t9lfyat23n99do5y9mpdtdkg 172.18.74.26:2377
      This node joined a swarm as a worker.
      
    • 管理节点查看节点状态

      • Active:调度器能够安排任务到该节点
      • Pause:调度器不能够安排任务到该节点,但是已经存在的任务会继续运行
      • Drain:调度器不能够安排任务到该节点,而且会停止已存在的任务,并将这些任务分配到其他 Active 状态的节点
      example@manager:~$ docker node ls
      
      ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
      vrfif1jr3v0gl29o8okhdlc4l     g160402             Ready               Active                                  18.06.1-ce
      w78pv2cxmucv2vca3v5r069wt *   manager             Ready               Active              Leader              18.09.5
      7jjv186tvj8hscubg6me026vq     u180402             Ready               Active                                  18.06.1-ce
      
    • 退出集群

      example@u180402:~$ docker swarm leave
      Node left the swarm.
      example@g160402:~$ docker swarm leave
      Node left the swarm.
      ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS      ENGINE VERSION
      vrfif1jr3v0gl29o8okhdlc4l     g160402             Down                Active                                  18.06.1-ce
      w78pv2cxmucv2vca3v5r069wt *   manager             Ready               Active              Leader              18.09.5
      7jjv186tvj8hscubg6me026vq     u180402             Down                Active                                  18.06.1-ce
      #manager 强制退出集群
      example@manager:~$ docker swarm leave --force
      Node left the swarm.
      
  4. 在集群中启用服务

    • 创建拥有两个副本的http服务

      example@manager:~$ docker service create --replicas 2 --name hello-swarm httpd:latest
      01voy53c0ygxb5w7ncocxwfvp
      overall progress: 2 out of 2 tasks
      1/2: running   [==================================================>]
      2/2: running   [============================================
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值