Upload
others
View
28
Download
0
Embed Size (px)
Citation preview
© Copyright 2015 Linker Networks Ltd.
Linker Networks
基于Mesos 和 Docker企业级移动应用实践分享
刘 超
领科云
© Copyright 2015 Linker Networks Ltd.
移动应用的复杂性
智能硬件
控制与业务逻辑
转发网关
大数据平台
互联网
日志
控制
类3G/4G 数据流量架构服务IoT
© Copyright 2015 Linker Networks Ltd.
移动应用的复杂性
智能硬件
控制与业务逻辑
转发网关
大数据平台
互联网
日志
控制
硬件盒子的维护更新?
C语言程序,高吞吐量?
Java平台高可用,高并发?
Hadoop, Spark资源复用?
© Copyright 2015 Linker Networks Ltd.
Mobile SaaS/PaaS
Marketplace Platform
Big Data FrameworkLinker Controller
领科云基础架构详情
Linker Cloud OSDocker-machine
swarm
Linker DCOS
© Copyright 2015 Linker Networks Ltd.
智能硬件的更新与维护
更新服务器 智能硬件
更新
监控
传统模式的复杂性转发
Web界面
API
Android程序
• 多个程序需要保持同步更新,如何保持一致性?ü 全部下载而非部分下载
ü 先下载配置文件,配置文件中有所有的匹配版本号
ü 升级必须是从零开始,而非差量升级
• 如何保持更新的完整性? MD5
• 在更新不成功的情况下,如何回滚?
ü 三个文件夹update, running, backup来回倒
ü 回滚后是否能保证一定跑的起来?
• 如何更新新加的功能?
ü 更新脚本本身的逻辑仅仅能够控制已有功能的更新
ü 如何添加更新脚本的自更新
© Copyright 2015 Linker Networks Ltd.
智能硬件的更新与维护
开发者 GitServer
arm image builder(qemu)
arm image registry
IoTController
智能硬件Docker
commit
docker push
notify
notify
docker pull
更新程序关注的是Docker
© Copyright 2015 Linker Networks Ltd.
传统应用迁移至Docker
无状态服务/有状态服务,前台启动/后台启动,跨物理机访问,No SSH,Logging,监控,环境变量,数据持久化,NTP,时区。。。
Ø 当前业务架构不发生根本性改变:微服务任重道远
Ø 突出利用Docker的优势:轻量级,快速部署,动态扩展
适应当前架构
突出容器优势
累积容器经验
架构微服务化
© Copyright 2015 Linker Networks Ltd.
传统应用迁移至Docker
Nginx Nginx
keepalived
Tomcat
Tomcat
Dubbo
MysqlManager
mysqld mysqld
ndbd ndbd
• 不适应Docker网络架构
ü HOST,部署在虚拟机上不一样么?
ü Port Mapping,里面看不到外面的IP啊
• 不适应Docker存储方式
ü Docker关了数据就没了?
ü 放在Volume里面,换了台机器呢?
ü 说好的Docker HA呢?
• 应用直接的相互关系如何配置?
ü 原来虚拟机都指定的,当然配置文件写死啦
ü Docker IP和端口如何分配?
ü 谁帮我配置进去啊
• 每次同客户测试联调都需要部署一套系统
ü 你们Docker不是能够一键部署的么?
© Copyright 2015 Linker Networks Ltd.
传统应用迁移至Docker
Flannel对于Mysql Cluster不起作用
© Copyright 2015 Linker Networks Ltd.
传统应用迁移至Docker
Ø 在数据中心内部:Bridged Flat Networking
Ø 跨物理机访问同传统模式无差别
Ø 简单性能损耗小
Ø 内部使用,可以使用物理隔离
Ø 从防火墙到服务一层NAT即可
Ø 转发层使用物理机
Ø 控制层使用虚拟机
Ø Openstack/Public Cloud:OVS/Weave
Ø 无法干预虚拟网卡配置,Overlay网络方式
Ø 多租户间网络隔离,禁止ICMP,禁止非
Managed IP,OVS Flow + Cgroup QoS,
Scheduler by BandWidth
© Copyright 2015 Linker Networks Ltd.
传统应用迁移至Docker
Ø 实现Docker跨机器HA,数据不丢失
Ø 使用Ceph FS作为统一存储
Ø 每个用户的外挂Volume都有自己的子目录
Ø Ceph Dockerized & Ceph Block Storage
© Copyright 2015 Linker Networks Ltd.
传统应用迁移至Docker
当HSS因为流量动态扩展,谁将新的HSS配置到负载均衡
当数据库节点失效后重启,谁将新的IP配置到HSS
Mysql Manager和Node需要相互知道对方的IP,如何相互配置?
© Copyright 2015 Linker Networks Ltd.
大数据平台作为DCOS Framework
Mesos-master (cluster)
Marathon
Mesos-slave Mesos-slave Mesos-slave Mesos-slave
install spark
spark controller(Docker)
注册为Framwork
spark client(Docker)
提交spark任务
spark task(Docker)
spark task(Docker)
spark task(Docker)
© Copyright 2015 Linker Networks Ltd.
基于模型的CI/CD
项目模型
Docker镜像DockerFile
项目成果物
包含
使用
生成
项目
关联
项目环境部署
谢谢!