在上周六遭遇阿里云容器服务 swarm 版的故障之后,我们决定还是走自建 docker swarm 之路,只要不是阿里云底层的问题,我们相信会找到办法解决或避开自建 docker swarm 不稳定的问题。
以下是我们即将采用的 docker swarm 集群部署优化措施。
1)2 个 overlay 网络合并为 1 个,以减少维护多个 overlay 网络的开销
之前用了 2 个 overlay 网络 cnblogs 与 proxy ,路由容器 docker-flow-proxy 只加入 proxy 网络,所有容器加入 cnblogs 网络,需要路由的容器才加入 proxy 网络。现改为 1 个 overlay 网络,所有容器(包括 docker-flow-proxy)都加入同一个网络。
2)限制每个容器最大可以使用的 CPU 与 内存,以免有应用消耗过多 CPU 或内存而拖垮节点
以下是 docker swarm compose 文件中的配置
deploy: resources: limits: cpus: "1.5" memory: 1.5G