15
© Copyright 2015 Linker Networks Ltd. Linker Networks 基于Mesos 和 Docker 企业级移动应用实践分享 领科云

基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

  • Upload
    others

  • View
    28

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

Linker Networks

基于Mesos 和 Docker企业级移动应用实践分享

刘 超

领科云

Page 2: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

移动应用的复杂性

智能硬件

控制与业务逻辑

转发网关

大数据平台

互联网

日志

控制

类3G/4G 数据流量架构服务IoT

Page 3: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

移动应用的复杂性

智能硬件

控制与业务逻辑

转发网关

大数据平台

互联网

日志

控制

硬件盒子的维护更新?

C语言程序,高吞吐量?

Java平台高可用,高并发?

Hadoop, Spark资源复用?

Page 4: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

Mobile SaaS/PaaS

Marketplace Platform

Big Data FrameworkLinker Controller

领科云基础架构详情

Linker Cloud OSDocker-machine

swarm

Linker DCOS

Page 5: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

智能硬件的更新与维护

更新服务器 智能硬件

更新

监控

传统模式的复杂性转发

Web界面

API

Android程序

• 多个程序需要保持同步更新,如何保持一致性?ü 全部下载而非部分下载

ü 先下载配置文件,配置文件中有所有的匹配版本号

ü 升级必须是从零开始,而非差量升级

• 如何保持更新的完整性? MD5

• 在更新不成功的情况下,如何回滚?

ü 三个文件夹update, running, backup来回倒

ü 回滚后是否能保证一定跑的起来?

• 如何更新新加的功能?

ü 更新脚本本身的逻辑仅仅能够控制已有功能的更新

ü 如何添加更新脚本的自更新

Page 6: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

智能硬件的更新与维护

开发者 GitServer

arm image builder(qemu)

arm image registry

IoTController

智能硬件Docker

commit

docker push

notify

notify

docker pull

更新程序关注的是Docker

Page 7: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

传统应用迁移至Docker

无状态服务/有状态服务,前台启动/后台启动,跨物理机访问,No SSH,Logging,监控,环境变量,数据持久化,NTP,时区。。。

Ø 当前业务架构不发生根本性改变:微服务任重道远

Ø 突出利用Docker的优势:轻量级,快速部署,动态扩展

适应当前架构

突出容器优势

累积容器经验

架构微服务化

Page 8: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© 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不是能够一键部署的么?

Page 9: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

传统应用迁移至Docker

Flannel对于Mysql Cluster不起作用

Page 10: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© 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

Page 11: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

传统应用迁移至Docker

Ø 实现Docker跨机器HA,数据不丢失

Ø 使用Ceph FS作为统一存储

Ø 每个用户的外挂Volume都有自己的子目录

Ø Ceph Dockerized & Ceph Block Storage

Page 12: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

传统应用迁移至Docker

当HSS因为流量动态扩展,谁将新的HSS配置到负载均衡

当数据库节点失效后重启,谁将新的IP配置到HSS

Mysql Manager和Node需要相互知道对方的IP,如何相互配置?

Page 13: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© 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)

Page 14: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

© Copyright 2015 Linker Networks Ltd.

基于模型的CI/CD

项目模型

Docker镜像DockerFile

项目成果物

包含

使用

生成

项目

关联

项目环境部署

Page 15: 基于Mesos 和Docker 企业级移动应用实践分享...Title 11-领科云基于Mesos和Docker的企业级移动应用实践分享 Created Date 1/24/2016 4:31:10 PM

谢谢!