在线咨询
QQ咨询
服务热线
服务热线:13125520620
TOP

云计算之路-阿里云上:docker swarm 集群再次出现故障

发布时间:2018-3-15 浏览:3256

常非常抱歉!16:30 ~ 17:00 左右我们用于跑 ASP.NET Core 站点的 docker swarm 集群再次出现宕机,由此给您带来了很大很大的麻烦,恳请您的谅解!
 
受此次故障影响的站点有:博问,闪存,班级,园子,短信息,招聘,小组,网摘,新闻,openapi
 
故障的经过是这样的。
 
一开始只是访问时偶尔出现 503 ,然后 503 逐渐增多。登录到集群的各个节点,发现有节点 ssh 登录响应慢,登录进去后执行 docker 命令也慢,于是将这个节点下线并重启,但是这样操作后又有新的节点出现这个问题 。。。然后越来越多的节点出现这个问题,造成全面 503 。
 
发现重启节点服务器不凑效,我们立即选择了重建集群,这本来每次都管用的一招,这次竟然失灵。
 
swarm1-node1 这个节点通过 docker swarm leave --force 命令强制退出已有集群,重新创建新的集群,并只部署了 docker-proxy-flow 路由容器。
 
docker swarm init --advertise-addr $(ip address | grep -oP "10\.[^/]+(?=/)")
docker network create --driver overlay cnblogs --subnet 10.128.0.0/16
docker network create --driver overlay proxy  --subnet 10.129.0.0/16
cd docker-flow-proxy
./deploy-prod.sh
 
watch 'docker stack ps proxy'
 
这时没有部署其他应用容器,以免一部署把这个节点压垮,而是将其他节点一一加入集群,但是加集群时傻眼了,出现下面的错误,无法加入。
 
# docker swarm join --token SWMTKN-1-2tzw5t53lzek5anyv163pc932zfrv1knkbzkxz9vg76uvsx5mz-3rw8fxa7sjbsf9hp55ycvmqxb 10.0.1.7:2377
Error response from daemon: rpc error: code = Unavailable desc = grpc: the connection is unavailable
更恐怖的是所有其他节点都因为同样的问题无法加入集群,不管是 manager 节点,还是 worker 节点。
 
在当时情急、愧疚、慌乱、无助。。。各种情绪的混杂之下,想到了最后一招,换另外一台服务器重建集群,结果一切正常,很快完成了整个集群的重建,恢复了正常。
 
用了 5 个 manager 节点,docker swarm 集群竟然还是如此不稳定,这是我们未曾料到的。目前我们需要先仔细分析,然后再评估接下来的应对措施。
 
再次请您谅解由此给您带来的麻烦!
 
 

TAG
软件定制,软件开发,瀚森HANSEN
0
该内容对我有帮助