zoukankan      html  css  js  c++  java
  • Docker swarm集群增加节点和删除节点

    Docker swarm集群增加节点

    • docker swarm初始化
    docker swarm init
    
    • docker swarm 增加节点
    在已经初始化的机器上执行:# docker swarm join-token manager 
    To add a manager to this swarm, run the following command:
    
        docker swarm join 
        --token SWMTKN-1-3by2djvsu8cyzo8pzzqrrsmoiszlcmj1ymsyzrqu0e5m4myar6-3ypif5p1vyzv7j7h362ah1kbj 
        192.168.52.37:2377
    将结果复制到各个节点机器上执行即可。
    
    查看集群节点:
    [root@node_t_36 zyx_p]# docker node ls
    ID                            HOSTNAME            STATUS              AVAILABILITY        MANAGER STATUS
    5i800ms4daxhfk4z02wux52bl     node_t_37           Ready               Active              Reachable
    kcd9oc41643o24fpmdi0j25s4     node_t_38           Ready               Active              Reachable
    sacj1t4flf4e275d2fwfho6q3 *   node_t_36           Ready               Active              Leader
    
    
    • 节点MANAGER STATUS列说明:

    显示节点是属于manager或者worker,没有值 表示不参与群管理的工作节点。

    • Leader 意味着该节点是使得群的所有群管理和编排决策的主要管理器节点。
    • Reachable 意味着节点是管理者节点正在参与Raft共识。如果领导节点不可用,则该节点有资格被选为新领导者。
    • Unavailable 意味着节点是不能与其他管理器通信的管理器。如果管理器节点不可用,您应该将新的管理器节点加入群集,或者将工作器节点升级为管理器。
    • 节点AVAILABILITY列说明:

    显示调度程序是否可以将任务分配给节点

    • Active 意味着调度程序可以将任务分配给节点。
    • Pause 意味着调度程序不会将新任务分配给节点,但现有任务仍在运行。
    • Drain 意味着调度程序不会向节点分配新任务。调度程序关闭所有现有任务并在可用节点上调度它们。

    Docker swarm集群删除节点

    • docker swarm集群已经有容器服务,删除节点node_t_37 的时候,需要先将该节点的服务迁移到其他节点,确保容器服务正常
    [root@node_t_37 zyx_p]# docker node  update --help
    
    Usage:  docker node update [OPTIONS] NODE
    
    Update a node
    
    Options:
          --availability string   Availability of the node ("active"|"pause"|"drain")
          --help                  Print usage
          --label-add list        Add or update a node label (key=value)
          --label-rm list         Remove a node label if exists
          --role string           Role of the node ("worker"|"manager")
    
    
    
    
    [root@node_t_37 ~]#docker node  update --availability drain node_t_37 将节点停用,该节点上的容器会迁移到其他节点
    [root@node_t_37 ~]#docker ps  检查容器迁移情况,当node_t_37的容器都迁移完后,停止docker服务
    
    登录到node_t_36上,将节点node_t_37降级成worker,然后删除。只能删除worker基本的节点。
    [root@node_t_36 zyx_p]# docker node demote node_t_37  降级
    [root@node_t_37 ~]#systemctl stop docker.service 停止docker服务(删除节点前,需先停该节点的docker服务)
    [root@node_t_36 zyx_p]# docker node rm node_t_37 删除 

    删除后的集群: [root@node_t_36 zyx_p]# docker node ls
    ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
    kcd9oc41643o24fpmdi0j25s4 node_t_38 Ready Active Reachable
    sacj1t4flf4e275d2fwfho6q3 * node_t_36 Ready Active Leader
  • 相关阅读:
    CDN网络(二)之配置和优化CDN核心缓存软件--squid
    CDN网络(一)之典型的CND架构与HTTP协议的缓存控制
    http+mysql结合keepalived做热备
    网络存储(四)之ISCSI的进阶
    Nginx系列3之Nginx+tomcat
    Nginx系列2之Nginx+php
    Nginx系列1之部分模块详解
    网络存储(三)之ISCSI搭建的入门
    网络存储(二)之ISCSI原理
    Testing
  • 原文地址:https://www.cnblogs.com/lcword/p/15325601.html
Copyright © 2011-2022 走看看