自建docker swarm体验简单之美
之前用的阿里云容器服务,但由于acsrouting的路由错乱问题,被逼上自建docker swarm的梁山。今天尝试自己搭建docker swarm,竟然轻松搞定,简单的超乎想象。
以下是实际搭建操作步骤:
1. 创建集群
# docker swarm init --advertise-addr 10.251.242.231
Swarm initialized: current node (m9dfl7r9wo1e9jxsp3oe5du3x) is now a manager. To add a worker to this swarm, run the following command: docker swarm join --token xxx 10.251.242.231:2377 To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
主:10.251.242.231 是 docker 主机的内网IP地址
2. docker info 查看刚刚创建的集群信息
Swarm: active
NodeID: m9dfl7r9wo1e9jxsp3oe5du3x
Is Manager: true
ClusterID: j01wzizw7gy0ck95p1d7a4pmv
Managers: 1
Nodes: 1
Orchestration:
Task History Retention Limit: 5
3. docker node ls 查看节点信息
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS
m9dfl7r9wo1e9jxsp3oe5du3t * swarm-websites-node1 Ready Active Leader
4. 创建用于部署应用容器的网络
# docker network create --driver=overlay --attachable cnblogs
5. 创建用于部署Docker Flow Proxy容器的网络(Docker Flow Proxy支持根据主机名将请求转发至对应的应用容器)
docker network create --driver overlay proxy
6. 查看刚刚创建的网络
# docker network ls
NETWORK ID NAME DRIVER SCOPE
rl96kcw8ytpa cnblogs overlay swarm
61kbxtvnivkx proxy overlay swarm
7. 部署 Docker Flow Proxy stack
7.1 下载 docker-compose-stack.yml 文件
# curl -o docker-compose-stack.yml \
https://raw.githubusercontent.com/\
vfarcic/docker-flow-proxy/master/docker-compose-stack.yml
7.2 部署 stack
# docker stack deploy -c docker-compose-stack.yml proxy
8. 编写示例应用 openapi 的 docker-compose-stack.yml
version: '3.2'
services:
api:
image: open-api:latest
deploy:
replicas: 2
update_config:
delay: 5s
labels:
- com.df.notify=true
- com.df.distribute=true
- com.df.serviceDomain=api.cnblogs.com
- com.df.port=80
networks:
- cnblogs
- proxy
networks:
cnblogs:
external: true
proxy:
external: true
9. 部署示例应用的 stack
docker stack deploy -c docker-compose-stack.yml openapi
10. 部署完成后可以通过 http://api.cnblogs.com 访问运行在 openapi_api service 中的站点
11. 添加机器进集群作为节点
docker swarm join --token xxxxxxxxx IP:2377
12. 将节点提升为manager
docker node promote ID或HOSTNAME
【参考资料】
自建docker swarm体验简单之美的更多相关文章
- 云计算之路-阿里云上-容器难容:自建docker swarm集群遭遇无法解决的问题
我们从今年6月开始在生产环境进行 docker 容器化部署,将已经迁移至 ASP.NET Core 的站点部署到 docker swarm 集群上.开始我们选用的阿里云容器服务,但是在使用过程中我们遭 ...
- 云计算之路-阿里云上-容器难容:容器服务故障以及自建 docker swarm 集群故障
3月21日,由于使用阿里云服务器自建 docker swarm 集群的不稳定,我们将自建 docker swarm 集群上的所有应用切换阿里云容器服务 swarm 版(非swarm mode). 3月 ...
- 云计算之路-阿里云上-容器难容:优化自建 docker swarm 集群的部署
在上周六遭遇阿里云容器服务 swarm 版的故障之后,我们决定还是走自建 docker swarm 之路,只要不是阿里云底层的问题,我们相信会找到办法解决或避开自建 docker swarm 不稳定的 ...
- docker--搭建docker swarm集群
10 搭建docker swarm集群 10.1 swarm 介绍 Swarm这个项目名称特别贴切.在Wiki的解释中,Swarm behavior是指动物的群集行 为.比如我们常见的蜂群,鱼群,秋天 ...
- docker-compose,docker-machine,docker swarm 的简单总结
1.docker-compose: 用来在单机上启动一组应用服务.这个服务中可能包含有很多应用,比如你的app服务,redis,mysql,等等. (1)我们需要先创建好docker-compose的 ...
- 云计算之路-阿里云上-2017年最错误的选择: 生产环境使用 docker swarm
2017年12月29日 10:18 ~ 11:00 左右,由于整个 docker swarm 集群宕机,造成我们迁移至 .net core 跑在 docker swram 上的所有站点无法正常访问,由 ...
- 云计算之路-阿里云上:节点 CPU 波动引发 docker swarm 集群故障
非常抱歉,今天 10:05-10:20 左右,我们用阿里云服务器搭建的 docker swarm 集群又出现故障,又是因为突然的节点 CPU 波动. 受这次故障影响的站点有 闪存,博问,班级,园子,短 ...
- 云计算之路-阿里云上:docker swarm 问题最新进展
今天中午我们在 docker swarm 集群上发布应用时遇到了一个奇怪的 docker swarm 内置负载均衡的问题,该应用的 2 个新容器成功启动后,在容器内访问正常,但通过服务名访问时一会正常 ...
- 【故障公告】10:30-10:45 左右 docker swarm 集群节点问题引发故障
非常抱歉,今天 10:30-10:45 左右由于 docker swarm 集群节点出现问题,造成除博客之外的站点出现访问异常,由此给您带来很大的麻烦,请您谅解. 故障开始时出现有时访问正常有时访问出 ...
随机推荐
- redis 频率限制
方式1: $redis = new Redis(); //以自然时间控制 一自然分钟内超过100次进行限制, 屏蔽多久的时间必须为计数key时间的倍数 $key = 'xxxx'.date('Y-m- ...
- 002_ASP.NET 换主题
网盘下载地址 http://pan.baidu.com/s/1c1VzIla 在线观看地址 http://www.bamn.cn/course/lesson/2 课程介绍 ASP.NET 实现更换主题 ...
- 打通MySQL架构和业务的任督二脉
目前,在很多OLTP场景中,MySQL数据库都有着广泛的应用,也有很多不同的使用方式.从数据库的业务需求.架构设计.运营维护.再到扩容迁移,不同的MySQL架构有不同的特点,适应一定的业务场景,或者解 ...
- 学习一个Vue模板项目
最开始学习Vue的时候,不建议直接使用模板,而应该自己从头写起.模板都是人写的,要坚信"人能我能".只有自己亲自实践,才能促进自己主动思考,才能对模板.框架有深刻的理解. 在Git ...
- 基于CentOS体验万象优图鉴黄服务
系统要求:CentOS 7.2 64 位操作系统 初始化配置 使用万象优图图片鉴黄 API 接口,我们需要先完成以下步骤: 获取腾讯云账号 APP ID 配置云 API 公钥/密钥 配置优图 buck ...
- 我对android开发的一点小感悟小看法
“Android”,“Android开发”等等这些词成了时下最热的词,也是时下大众最关注最吸引人眼球的话题,当然,最热门的行业也意味着高薪,好的就业环境,但同时也意味着强大的竞争力! Android系 ...
- Socket网络编程--简单Web服务器(1)
这一次的Socket系列准备讲Web服务器.就是编写一个简单的Web服务器,具体怎么做呢?我也不是很清楚流程,所以我找来了一个开源的小的Web服务器--tinyhttpd.这个服务器才500多行的代码 ...
- linux每日命令(19):locate 命令
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案.其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了.在一般的 di ...
- Node入门教程(11)第九章:Node 的网络模块
net网络模块 net模块是node对TCP或者IPC开发的封装,包括了客户端和服务器端相关API.对于阅读本文,请您有一定的网络编程的基础.您需要已经了解了: ip协议,会配置ip地址 了解dns解 ...
- 新的时代:今日三款新IM正式宣战微信!
今天(2019年1月5日)是社交圈的大日子,在今天上午将有三款不同的社交软件进行发布会,王欣.张一鸣.罗永浩旗下公司三款社交产品于今日同日发布. 新的时代,共同挑战微信 2019年1月15日,张一鸣的 ...