zoukankan      html  css  js  c++  java
  • 云计算之路-阿里云上:节点 CPU 波动引发 docker swarm 集群故障团队

    非常抱歉,今天 10:05-10:20 左右,我们用阿里云服务器搭建的 docker swarm 集群又出现故障,又是因为突然的节点 CPU 波动。

    受这次故障影响的站点有 闪存博问班级园子短信息招聘小组网摘,openapi ,由此给您带来很大的麻烦,请您谅解。

    故障前先是有一个 worker 节点出现 CPU 100% 报警:

    云服务器ECS实例:swarm1-node5,CPU使用率于10:00发生告警,值为100%,持续时间1分钟

    收到报警后,我们将这个节点下线并重启:

    docker node update --availability drain swarm1-node5

    然后,3 个 manager 节点一个接一个地 ssh 无法登录,之后整个集群宕机,跑在集群上的所有站点无法访问。

    随后,我们通过阿里云控制台强制重启 manager 节点,但重启后集群无法恢复:

    Error response from daemon: rpc error: code = Unknown desc = The swarm does not have a leader. It's possible that too few managers are online. Make sure more than half of the managers are online.

    这时别无选择,我们立即执行 shell 脚本重建集群:

    # ./rebuild-production-swarm.sh
    Swarm initialized: current node (id6b69wj83ok2cf3tnsg7vm8l) is now a manager.

    (注:这也是我们选择自建 docker swarm 集群没有选择阿里云容器服务的原因之一,可以快速地用脚本重建集群)

    重建集群后,一切恢复正常。

    附1:docker 版本是 Docker version 17.12.0-ce, build c97c6d6 。

    附2:集群中各个节点的 CPU 监控图:

    1)swarm1-node1(manager节点)

    2)swarm1-node2(manager节点)

    3)swarm1-node3(manager节点)

    4)swarm1-node4(worker 节点)

     5)swarm1-node5(worker 节点)

  • 相关阅读:
    LINQ 为C#开发的一种类似于SQL的语言
    Perl函数集
    职场新鲜人:为什么女生拼不过男生?
    字符串查找 cmd find命令
    职业规划师:如何给自己挑选一个好老板
    C# const, readonly, static readonly
    转载:抽象工厂模式与工厂方法模式区别
    教育法则
    poj 1509 Glass Beads
    hdu 2602 Bone Collector
  • 原文地址:https://www.cnblogs.com/cmt/p/8358383.html
Copyright © 2011-2022 走看看