Docker Swarm 入门示例8: swarm节点的清空和再启用

  1. 打开manager1服务器 shell

  2. 查看所有可用节点 命令: docker node ls

    $ docker node ls
    ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
    j1dxu07y1b7z0x5t0xbznbqra *   ubuntu-1604-001     Ready               Active              Leader
    adwrrh5id86ngqa83g1keagjl     ubuntu-1604-002     Ready               Active
    8pyzgg5le0sbd8kq9paugztub     ubuntu-1604-003     Ready               Active
    
  3. 保证已经启用一个redis服务

    如果没有,通过以下命令

    docker service create --replicas 3 --name redis --update-delay 10s redis:3.0.6-alpine
    
  4. 查看运行实例在节点分布 命令: docker service ps redis

    $ docker service ps redis
    ID                  NAME                IMAGE                NODE                DESIRED STATE       CURRENT STATE             ERROR               PORTS
    uhp5efmjo0y6        redis.1             redis:3.0.7-alpine   ubuntu-1604-002     Running             Running 9 minutes ago
    9uzdoruo0n27         \_ redis.1         redis:3.0.7          ubuntu-1604-002     Shutdown            Shutdown 9 minutes ago
    uzabimd9ilx5         \_ redis.1         redis:3.0.6-alpine   ubuntu-1604-002     Shutdown            Shutdown 12 minutes ago
    jqehrahx7qp0        redis.2             redis:3.0.7-alpine   ubuntu-1604-003     Running             Running 9 minutes ago
    gdcwmr75gs6s         \_ redis.2         redis:3.0.7          ubuntu-1604-003     Shutdown            Shutdown 9 minutes ago
    6lhvz3aanelv         \_ redis.2         redis:3.0.6-alpine   ubuntu-1604-003     Shutdown            Shutdown 11 minutes ago
    xu9s2zohnx2d        redis.3             redis:3.0.7-alpine   ubuntu-1604-001     Running             Running 9 minutes ago
    i55mt8fzqqbp         \_ redis.3         redis:3.0.7          ubuntu-1604-001     Shutdown            Shutdown 9 minutes ago
    rxu3t1iy6qcg         \_ redis.3         redis:3.0.6-alpine   ubuntu-1604-001     Shutdown            Shutdown 12 minutes ago
    
    
  5. 从两个work中找一个有运行任务的节点,执行清空(drain)命令 命令: docker node update --availability drain <NODE-ID>

    $ docker node update --availability drain ubuntu-1604-003
    ubuntu-1604-003
    
    
  6. 查看 节点状态 命令: docker node inspect --pretty <NODE-ID>

    $ docker node inspect --pretty ubuntu-1604-003
    ID:                     8pyzgg5le0sbd8kq9paugztub
    Hostname:               ubuntu-1604-003
    Joined at:              2017-12-19 02:36:39.094482877 +0000 utc
    Status:
     State:                 Ready
     Availability:          Drain <--------------
     ...snip...
    
  7. 再次查看 redis服务的节点分布 命令: docker service ps redis

    $ docker service ps redis
    ID                  NAME                IMAGE                NODE                DESIRED STATE       CURRENT STATE             ERROR               PORTS
    uhp5efmjo0y6        redis.1             redis:3.0.7-alpine   ubuntu-1604-002     Running             Running 17 minutes ago
    9uzdoruo0n27         \_ redis.1         redis:3.0.7          ubuntu-1604-002     Shutdown            Shutdown 17 minutes ago
    uzabimd9ilx5         \_ redis.1         redis:3.0.6-alpine   ubuntu-1604-002     Shutdown            Shutdown 19 minutes ago
    x3sn26n63aaq        redis.2             redis:3.0.7-alpine   ubuntu-1604-001     Running             Running 2 minutes ago
    jqehrahx7qp0         \_ redis.2         redis:3.0.7-alpine   ubuntu-1604-003     Shutdown            Shutdown 2 minutes ago
    gdcwmr75gs6s         \_ redis.2         redis:3.0.7          ubuntu-1604-003     Shutdown            Shutdown 17 minutes ago
    6lhvz3aanelv         \_ redis.2         redis:3.0.6-alpine   ubuntu-1604-003     Shutdown            Shutdown 19 minutes ago
    xu9s2zohnx2d        redis.3             redis:3.0.7-alpine   ubuntu-1604-001     Running             Running 17 minutes ago
    i55mt8fzqqbp         \_ redis.3         redis:3.0.7          ubuntu-1604-001     Shutdown            Shutdown 17 minutes ago
    rxu3t1iy6qcg         \_ redis.3         redis:3.0.6-alpine   ubuntu-1604-001     Shutdown            Shutdown 20 minutes ago
    
    
  8. 激活清空的节点 命令: docker node update --availability active <NODE-ID>

    $ docker node update --availability active ubuntu-1604-003
    ubuntu-1604-003
    
    
  9. 再次查看节点状态

    ~$ docker node inspect --pretty ubuntu-1604-003
    ID:                     8pyzgg5le0sbd8kq9paugztub
    Hostname:               ubuntu-1604-003
    Joined at:              2017-12-19 02:36:39.094482877 +0000 utc
    Status:
     State:                 Ready
     Availability:          Active <--------------
    ...snip...
    

    When you set the node back to Active availability, it can receive new tasks:

    during a service update to scale up during a rolling update when you set another node to Drain availability when a task fails on another active node

转载于:https://my.oschina.net/u/915811/blog/1593856

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值