云计算之路-阿里云上:docker swarm 集群故障与异常

在上次遭遇 docker swarm 集群故障后,我们将 docker 由 17.10.0-ce 升级为最新稳定版 docker 17.12.0-ce 。
前天晚上22:00之后集群中的2个节点突然出现CPU波动,在CPU波动之后,在凌晨夜深人静、访问量极低的时候,整个集群出现了故障,访问集群上的所有站点都出现了502,过了一段时间后自动恢复正常。
ECS实例:swarm1-node5,CPU百分比于00:52发生告警,值为96.14%,持续时间0分钟
。。。
昨天早上发现访问部分节点中的容器应用响应有些慢,于是我们通过阿里云控制台强制重启这些节点后恢复正常。
今天上午我们在集群上更新一个应用时(部署新的镜像),出现了奇怪的问题。应用是在 swarm1-node1 这个 manager 节点上部署的,部署后容器运行在其他节点上,但奇怪的是只有在 swarm1-node1 这个节点上可以正常访问容器中的站点,在其他节点上访问都是 503 ,用 docker stack rm 命令删除应用并重新部署问题依旧。
当时 docker-flow-proxy(路由应用) 的 2 个容器都是部署在 swarm1-node1 节点上的,从问题现象看,在 swarm1-node1 节点上 docker-flow-proxy 容器与外界的通信正常,docker-flow-proxy 容器与其他节点上的容器的 overlay 网络(网络A)通信正常;在其他节点上,外界的请求通过 overlay 网络(网络B)被正常转发到 docker-flow-proxy 容器,却不能被正常路由到其他节点上对应的容器(也是通过 overlay 网络A)。对这个奇怪现象实在想不通,但是问题摆在那,想不通也要解决。想不通背后的原因,那我们换个角度,其他节点都异常,就 swarm1-node1 正常,根据少数服从多数的粗暴原则,那就认为 swarm1-node1 不正常吧。于是通过下面的命令将 swarm1-node1 节点下线:
docker node update --availability drain swarm1-node1
swarm1-node1 下线后,其他节点都恢复了正常,果然是 swarm1-node1 不正常。
swarm1-node1 下线的背后是 docker-flow-proxy 容器换到其他节点上运行。

问题就这样被猜测解决了。
云计算之路-阿里云上:docker swarm 集群故障与异常的更多相关文章
- 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障
3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...
- 云计算之路-阿里云上:部分服务器未及时续费造成docker swarm集群故障
非常非常抱歉,由于我们的疏忽 —— docker swarm 集群中的 2 台服务器没有及时续费,造成在夜里0点被自动关机,从而引发整个 docker swarm 集群故障,造成今天凌晨 0:30 ~ ...
- 云计算之路-阿里云上:从ASP.NET线程角度对“黑色30秒”问题的全新分析
在这篇博文中,我们抛开对阿里云的怀疑,完全从ASP.NET的角度进行分析,看能不能找到针对问题现象的更合理的解释. “黑色30秒”问题现象的主要特征是:排队的请求(Requests Queued)突增 ...
- 云计算之路-阿里云上:Web服务器遭遇奇怪的“黑色30秒”问题
今天下午访问高峰的时候,主站的Web服务器出现奇怪的问题,开始是2台8核8G的云服务器(ECS),后来又加了1台8核8G的云服务器,问题依旧. 而且3台服务器特地使用了不同的配置:1台是禁用了虚拟内存 ...
- 云计算之路-阿里云上-新发现:又一种与虚拟内存有关的CPU波动情况
在云上真是无奇不有,昨天偶然间发现在IIS的应用程序池回收设置中,仅仅设置了一下基于虚拟内存限制的回收,就引发了CPU有规律的波动.在这篇博文中,我们将向大家汇报一下云计算之路上的这个小发现. 在之前 ...
- 云计算之路-阿里云上:启用Windows虚拟内存引发的CPU 100%故障
今天上午11:35~11:40左右,由于负载均衡中的两台云服务器CPU占用突然飚至100%,造成网站5分钟左右不能正常访问,请大家带来了麻烦,请谅解! (上图中红色曲线表示CPU占用) 经过分析,我们 ...
- 云计算之路-阿里云上:SLB会话保持的一个坑
冒着被大家厌烦的风险,今天再发一篇“云计算之路-阿里云上”.这是在前一篇发过之后真实发生的事情,我们觉得定位问题的过程值得分享.而且估计园子里不少朋友被这个问题骚扰过,我们有责任让大家知道问题的真正原 ...
- 云计算之路-阿里云上:原来“黑色0.1秒”发生在socket读取数据时
在昨天的博文(云计算之路-阿里云上:读取缓存时的“黑色0.1秒”)中我们犯了一个很低级的错误——把13ms算成了130ms(感谢陈硕发现这个错误!),从而对问题的原因作出了错误的推断,望大家谅解! 从 ...
- 云计算之路-阿里云上:禁用Windows虚拟内存引发的重启
昨天(2013年8月6日)下午,承载www.cnblogs.com主站的两台云服务器分别自动重启了1次,由于这两台云服务器使用了负载均衡(SLB),重启并未影响网站的正常访问. 与这次重启相关的Win ...
随机推荐
- java 单例模式学习笔记
1.单例模式概述 单例模式就是确保类在内存中只有一个对象,该实例必须自动创建,并且对外提供. 2.优缺点 优点:在系统内存中只存在一个对象,因此可以节约系统资源,对于一些需要频繁创建和销毁的对象单例模 ...
- Activiti 6.0 之SkipExpression
Activiti 6.0 之SkipExpression 惭愧惭愧,这么一个小小的功能整了这么久. 还是先说一下业务场景吧.在工作流中,我们难免会遇到这样的情况,即一个流程的发起者的身份问题.举个 ...
- Intellij Idea配置MapReduce编程环境
原文参考地址:http://www点w2bc点com/article/229178 增加内容:question1: Hadoop2以上版本时,在Hadoop2的bin目录下没有winutils.exe ...
- 54、js初识
今天这篇将介绍javascript,学完javascript就可以使你的网页动起来. 一.JavaScript概述 1.JavaScript的历史 1992年Nombas开发出C-minus-min ...
- free查看内存和swap使用情况,增加、删除、自动挂载swap分区
free [root@localhost ~]# free total used free shared buff/cache available Mem: 999936 142760 566536 ...
- 用VS2015写一个简单的ASP.net网站
第一步:打开VS2015,然后新建一个空的解决方案,其中解决方案的名称WebSiteTest可类似认为是本次网站的名称,系统会以该名称(WebSiteTest)生成一个文件夹,在WebSites文件夹 ...
- [array] leetcode - 53. Maximum Subarray - Easy
leetcode - 53. Maximum Subarray - Easy descrition Find the contiguous subarray within an array (cont ...
- input选择框样式修改与自定义
html自带的选择框样式不好看,并且在ios设备上丑的罚款.所以一般都是自定义样式: 原理:将原来默认的input选择框隐藏,然后控制label的:before与:after,配合矢量图标或者图片来实 ...
- tomcat中使用mysql连接池的配置
1.下载相应的jar包,添加到工程中 需要下载的包主要有commons-pool2-2.2 commons-dbcp2-2.0.1-src commons-dbcp2-2.0.1 commons-c ...
- vlc源码研究
有位传说中的大神告诉我,我的p2p打洞打不通是因为,sdp描述信息中的地址不对 也就是IN IP4 XXX.XXX.X.XXX这一句 我看到确实是个局域网地址,那么vlc在接收到IN IP4 XXX. ...