zoukankan      html  css  js  c++  java
  • Docker Swarm 高可用详解

     

    Manager管理节点宕机后其他管理节点仍然可以使用管理

    intermal distributed state store:内部分布式状态存储同步共享到每个节点。

    Manager:多个Manager已Raft来通过机制的选举,进行高可用。

    raft:通常通过投票的方式进行选举,一般是奇数制的节点。

    worker:容器工作节点。

    Manager节点任务

    1. 维护集群状态

    2. 调度服务

    3. 提供swarm模式的HTTP API


    为了利用swarm模式的容错功能,应保持集群中奇数管理员来支持manager节点故障。当leader故障时,会选举新的leader。

    故障恢复:

    如果swarm失去法定人数,swarm不能自动恢复,工作节点上的任务继续运行,不受影响,但无法执行管理任务,包括扩展或更新服务,加入或删除节点。恢复的最佳方式是将丢失的leader节点重新联机。如果不可能,唯一方法是使用—force-newcluster管理节点的操作,这将去除本机之外的所有管理器身份。

    docker swarm init --force-new-cluster --advertise-addr 192.168.1.79:2377

    1、管理节点:赋值其他工作节点为管理节点

    docker node promote 工作节点主机名1
    docker node promote 工作节点主机名2 
    命令:docker node ls
    ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
    bmlecoeitwsbf1r6skpmiq6m5 slave01 Ready Active Reachable
    kqkwgx5d87nt2mo42263r0dkj slave02 Ready Active Reachable
    mcoe3f7kit5o60gp7v2f6wjc9 * management Ready Drain Leader

    注:Reachable 是工作节点晋升的备用管理节点。

    2、管理节点:测试 关闭docker

    systemctl stop docker

    3、备用管理节点1:测试高可用故障跳转

    docker node ls
    ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
    bmlecoeitwsbf1r6skpmiq6m5 * slave01 Ready Active Leader
    kqkwgx5d87nt2mo42263r0dkj slave02 Ready Active Reachable
    mcoe3f7kit5o60gp7v2f6wjc9 management Down Drain Unreachable

    注:当主管理节点down时,swarm通过raft选举,自动跳转到备用管理节点1中。

    注:Leader为管理主机。

  • 相关阅读:
    Saltstack module apache 详解
    Saltstack module ip 详解
    Saltstack module iosconfig 详解
    Saltstack module introspect 详解
    Saltstack module inspector 详解
    Saltstack module ini 详解
    Saltstack module incron 详解
    Modbus 指令 RS485指令规则
    停车系统对接第三方在线支付平台(二)
    停车系统对接第三方在线支付平台
  • 原文地址:https://www.cnblogs.com/lcword/p/14540646.html
Copyright © 2011-2022 走看看