AirJD 焦点
AirJD

没有录音文件
00:00/00:00
加收藏

Docker应用:超大规模容器调度系统的设计与实现 The Power of Native by Allen Sun@DaoCloud

发布者 docker
发布于 1461890610841  浏览 2324 关键词 Docker, DevOps 
分享到

第1页

Docker应⽤用:超⼤大规模容 器调度系统的设计与实现

The Power of Native

Allen Sun 「DaoCloud」

www.daocloud.io



第2页

个⼈人介绍

• DaoCloud技术合伙⼈人,⾼高级⼯工程师 • 热爱golang&docker • 《Docker源码分析》作者 • docker、swarm等项⺫⽬目committer





第3页

Agenda

什么是容器编排 容器编排与应⽤用系统 容器编排与调度能⼒力 DCE架构分析



第4页

什么是容器编排

⾯面向容器化应⽤用系统

CNCF 微服务架构应⽤用

容器调度能⼒力

资源分配与调度 容器动态迁移

容器集群能⼒力

容器通信能⼒力 集群扩展能⼒力



第5页

容器编排的评估指标

性能: • 扩展速度 • 响应时间

灵活性: • 与现有⼯工作流的集成程度 • 开发、测试、⽣生产环境的平滑迁移

简易程度: • 学习曲线 • 编排系统复杂度



第6页

容器编排与容器化应⽤用系统

• Cloud Native Application • 微服务架构 • 应⽤用通信能⼒力



第7页

Voting APP Voting APP Voting APP

Redis



worker worker worker



Result APP Result APP Result APP

front-tier



DB

front-tier



db-data



https://github.com/docker/example-voting-app



第8页

version: "2" services:

voting-app: image: voting-app ports: - "80" networks: - front-tier - back-tier

result-app: image: result-app ports: - "80" networks: - front-tier - back-tier

worker: image: app-worker networks: - back-tier

接右边



接左边

redis: image: redis ports: - "6379" networks: - back-tier container_name: redis

db: image: postgres:9.4 volumes: - "db-data:/data" networks: - back-tier container_name: db

volumes: db-data:

networks: front-tier: back-tier:



第9页

Compose UP !



第11页

容器调度能⼒力

资源分配与调度 资源利⽤用率 ⽤用户需求限制 快速决策能⼒力 多种公平原则

容器动态迁移 伸缩迁移 故障迁移



第12页

Node 1000 Container 100000

Latency <150ms



第14页

容器调度能⼒力

强⼤大扩展能⼒力背后 架构的精细 系统复杂度低 ⼯工作流组件数量精简

容器状态的缓存 容器状态由Swarm Manager缓存 减少数据的存储 提⾼高扩展速度 最终⼀一致性



第15页

DaoCloud Enterprise

⼀一套容器集群解决⽅方案 管理你的计算资源,包括物理机和公有云环境 部署并管理所有的 Docker 应⽤用

• 标准化 • 企业级 • 开放性



第16页

DaoCloud Enterprise 架构图



dce_agent 运⾏行⽤用户所有的容器和应⽤用

调⽤用 dce_swarm_manager 服 dce_controll 务,向⽤用户提供 WEB 控制台

er UI,集群管理 API 和 CLI 运维 套件服务

dce_swarm_ 安装有 Swarm 服务的容器, manager 负责容器节点的管理和⾃自发现



dce_etcd



key-value 键值库,负责存储集 群中的多种信息



第17页

系统⾼高可⽤用(HA)

启动多控制节点,主备⽅方式实现HA 分布式锁实现主节点选举 副节点实现请求转发 ⽀支持etcd、zookeeper等

主控节点



副控节点



副控节点



第18页

应⽤用⾼高可⽤用(HA)

Docker Engine的状态设置 正常状态 下线状态 维护状态

应⽤用容器⾼高可⽤用 应⽤用多实例 ⾃自动负载均衡 节点故障迁移



第19页

Thank You!



支持文件格式:*.ppt, *.pptx, *.pdf
上传最后阶段需要进行在线转换,可能需要1~2分钟,请耐心等待。