第1页
网易蜂巢Docker云计算平台 架构演化
深圳站2016
尧飘海
第3页
自我介绍
分布式 架构
云计算
自动化 平台
性能诊 断
第4页
目录
PART 01
蜂巢背景介绍
PART 02
公有容器云挑战
PART 03
服务化架构之路
PART 04
总结
第5页
PART 01
蜂巢背景介绍
Introduction
第6页
背景介绍
第7页
背景介绍
第8页
背景介绍
业务开发
提交代码
配置环境
部署代码 正常 运行 发布
配置 正确
开发负责 运维负责 开发与运维协作
检查环境配置
配置 正确
检查代码配置
正常 服务
回滚
VS
开发自助运维
成功上线
业务开发
部署代码
提交代码
正常 运行
发布
正常 服务
成功上线
运维驱动
一键自助运维
开发驱动
回滚
第9页
背景介绍
来源:microserver.io
微服务支撑
第10页
PART 02
公有容器云挑战
Challenge
第11页
业务挑战
• DevOps,微服务支撑 • 业务对象(需求,计费,安全) • 服务模式 (K8s多租户)
第12页
业务挑战
使用方式 计费方式 服务模式
安全
• 容器服务 • 编排服务 • 云主机
• 按时计费 • 按量计费 • 按次计费
• 个人用户 • 企业用户 • 其他团队
• 系统安全 • 业务安全 • 定制安全
第13页
规模挑战
用户数 蜂巢:增长快
私有云:较固定
公有云
私有云
主机数 蜂巢:非线性
私有云:线性级
第14页
非功能挑战
风控系 统
快速迭 代
可运维性
第15页
PART 03
服务化架构之路
Architecture
第16页
私有云架构
用户平台
管理平台
PaaS
对象存储
对象缓存
分布式数据 库
关系型数据 库
全文检索 负载均衡 消息队列
报 警
IaaS 硬件
云主机
KVM\LXC
云网络 OpenFlow/OpenVSwit
ch
云硬盘 NBS
监 控
第17页
系统特点
• 基于开源云框架OpenStack构建IaaS • 整合后端服务到私有云,提供PaaS服务 • 云网络基于OpenFlow浮动IP • 云硬盘架构基于iscsi实现 • 云主机的创建速度
第18页
二代架构
客服云 教育云
SaaS
云分析
网站/APP 可视化
自定义报表
云信 教育云 视频云 多媒体云 机器学习
……
领域PaaS
主机与网络
IaaS
虚拟主机 虚拟主机
虚拟硬盘 虚拟硬盘
云硬盘服务/NBS
云硬盘服务/Ceph
大数据云
云缓存 云队列
操作门户
云关系数据库
数据集成
云分布式数据库 云负载均衡
云监控 云搜索
离线计算 实时计算
核心PaaS
云对象存储
云安全
CDCNDN 上上传传加加速速
反垃圾
富媒体处富理媒服体务处理 镜像/快照存储
云转码
防攻击 入侵防护 存储(HDFS)
第19页
架构技术特点
• 云网络架构 • 静态IP注入 • Ceph优化
第20页
云网络
租户A
VM1 10.40.124.3
VM2 10.40.124.4
VM4 10.40.124.6 10.64.132.5
私有 网络
机房 内网 创建
VM3 10.40.124.5
无外网IP访问外网
路由
租户私网: 10.40.124.0/22 IDC网: 10.64.132.0/28(A) 10.64.133.0/26(B) 外网: 17.14.1.0/24
企业机房网
无IDC网访问企业网
有IDC网访问企业网
无IDC网访问租户网 ACL
ACL 有IDC网访问
机房
内网 创建
外部网 访问外网
VM6 10.40.124.5 10.64.133.7 17.14.1.14
互联网
租户B
VM4 10.40.124.3 10.64.133.6
私有 网络 私有网
VM5 10.40.124.4 10.64.133.7
路由
VPN
第21页
静态IP注入
创建时间过长
第22页
静态IP注入
• 1.云主机网卡IP • 2.云主机网卡路由 • 3.DNS服务IP • 4.网卡udev规则
80S
5S
第23页
Ceph多副本
• 问题
• Ceph在osd进程重启时会出现长时间、极其严重的性能衰减(80%+)
• 原因
• osd重启时要恢复重启期间脏数据对象,会消耗大量网络/磁盘开销
• 优化
• 在pglog记录重启期间数据对象的增量数据,在重启时增量恢复数据对象
• 效果
• 减少重启过程对集群正常I/O性能影响(I/O性能降低10%~20%以内) • 缩短重启恢复所需时间(重启单个osd从10分钟减少到40秒左右)
第24页
Ceph多副本
• 有状态容器
• 多层快速回滚
第25页
系统关键点
• 容器化:开放公有容器云 • 多层调度:支持云主机与容器的调度 • 并发请求:秒级,创建 • 多级别资源池:云主机,IP,云硬盘
第26页
容器云架构
第27页
K8S的优化
Auth
Hub
LB Manager
LB
Pod
PoLBd
Controller
第28页
K8S的优化
• 内存/CPU上涨
• Node注册/缓存 • 单集群节点数
第29页
多级别资源池
云主机
云网络
云硬盘
容器服务
第30页
应用容器化的坑
IO占用较高 OOM无效
第31页
应用容器化的坑
内存分配失败 Swap请求
第32页
系统关键点
• 镜像服务:同城跨机房传输 • 多集群:编排服务可扩展设计 • 多机房:多机房及可用域支持
第33页
镜像服务
机房A
核心 路由
机房B
镜像仓库服务 分布式存储服务
第34页
编排服务
• 完善多租户支持
• node、存储、网络等资源租户天生隔离 • 按租户实现独立的认证和授权
• 调度器/控制器并行处理优化
• 将面向集群的串行调度优化为多租户并行调度 • 将副本队列串行处理优化为按照多优先级队列并行处理
• etcd集群
• 根据Pod/Node/RC等资源到拆分不同的etcd集群
P
API API
API
第35页
多机房架构
应用服务
构建服务
镜像服务
管理服务
容器引擎服务
API服务
Billing K8s Napm
Keystone
NAS
Auth
Nova
Cinder
Neutron
机房A
Billing K8s Napm
Keystone
NAS
Auth
Nova
Cinder
Neutron
机房B
Billing
K8s
Keystone
NAS
Nova
Cinder
机房C
Napm Auth Neutron
第36页
PART 04
总结
Summary
第37页
总结
• 高可用 • 可扩展
稳定性 • 高可靠
安全
• 系统透明 • 系统诊断
数据化 • 链路监控系统
• 运故障维恢复
• 自动切换
容错性 • RC的应用
• 电服源务管理
更多 • 带外管理
DDos防护 入侵检测
全链路监控 带外管理
分拆分层 微服务化