王鹏飞 Kubernetes容器存储解决之道

QCon大会

2019/06/25 发布于 技术 分类

QCon  QCon2019 

文字内容
1. Kubernetes 容器存储解决之道 王鹏飞 北京焱融云 CTO
2. 自我介绍
3. 自我介绍 • 15年软件开发,架构设计,研发管理等经验 • 先后在IBM,金山云等公司负责私有云 • 2016年共同组建北京焱融云科技有限公司,致力于为容器平台提供存储
4. 目录 1 容器存储现状 2 Kubernetes存储技术演进 3 如何选择容器存储
5. 现状-容器占领数据中心
6. 现状-Top10 App 有状态应用已经占50%
7. 现状-云原生的窘境 As IT shops adopt containers, stateful apps and container persistent storage are the elephants in the room 虚拟机时代 裸金属时代 无状态 有状态 无状态 容器时代 有状态 无状态 0 3 6 9 1 4 7 10 2 5 8 11 3650 M5 0 3 6 9 1 4 7 10 2 5 8 11 3650 M5 0 3 6 9 1 4 7 10 2 5 8 11 0 3 6 9 1 4 7 10 2 5 8 11 3650 M5 3650 M5 0 3 6 9 1 4 7 10 2 5 8 11 0 3 6 9 1 4 7 10 2 5 8 11 3650 M5 3650 M5 有状态
8. 现状-云原生的窘境 使用容器的挑战(CNCF2018) 缺乏技能 容器持久化存储的主要挑战 安全 缺乏存储软件和工具 持久化存储 担心数据丢失 网络 应用容器化 现有存储扩展性差 可靠性 传统SAN/NAS阵列部署时间太长 平台选型 0% vendor支持 0% 10% 20% 30% 40% 20% 40% 60%
9. 现状-CNCF 图谱
10. 目录 1 容器存储现状 2 Kubernetes存储技术演进 3 如何选择容器存储
11. K8S-Storage RoadMap V1.2 – FlexVolume (need root) V1.9 – CSI alpha V1.13 – CSI GA
12. Kubernetes 容器存储结构
13. Container Storage Interface(CSI) Topology
14. K8S-PV 使用方式
15. K8S-CSI Drivers A to Z
16. 目录 1 容器存储现状 2 Kubernetes存储技术演进 3 如何选择容器存储
17. 选择-存储形态 File Block Sees a directory with files Sees the volume as ‘disk’ Many mounts Format to any FS Object Less relevant in our case
18. 选择-PV Access Modes ReadWriteOne read-write by a single node ReadOnlyMany read-only by many nodes ReadWriteMany read-write by many nodes
19. 选择-File Types Handling tens of thousands of files is painful!
20. 选择-PV QoS Quota IOPS
21. 选择-容器故障恢复时间 Kubernetes Master Node A Node B YRCloudFile Cluster
22. 选择-可运维热点
23. 选择-性能 4K 随机读写性能对比 40000 Mellanox交换机 + Mellanox网卡 + RDMA 36500 35000 单位: IOPS 30000 普通交换机 + Mellanox网卡 + RDMA 普通交换机 + 普通网卡 + TCP 27941 25000 20000 14300 15000 11797 10000 8286 6666 5000 0 4K随机读 4K随机写
24. 选择-扩容 Hash vs Meta MS MDS 标准 x86 服务器 Storage MS MDS 标准 x86 服务器 Storage MS MDS 标准 x86 服务器 1Gb / 10Gb / … / 100Gb 以太网络或 InfiniBand 网络 Storage MDS 标准 x86 服务器 Storage
25. Disaster Recovery
26. PV Insight
27. Prometheus 原生支持
28. 现有存储方案 CephRBD: • 需连接物理服务器上再挂载到容器中,有状态 Pod跨节点重建过程复杂、耗时长、易出错 • 不支持RWX(ReadWriteMany) • 性能差 CephFS: • 不成熟,扩容、故障影响大,难运维 • 小文件/随机小IO性能差 • 扩展性差 • 不支持海量文件 • 存在单点故障 • 不支持过深的目录层次,性能下降明显 • 通过NAS阵列提供NFS时,容易被厂商锁定 • 高性能NAS成本很高
29. 总结 • 大文件带宽,小文件随机读写,发挥高性能 高性能 • 能充分发挥全闪硬盘(SSD、NVMe)性能优势 • 低延迟、高IOPS、高并发,支持核心应用 • 支持RDMA,RoCE(RDMA over Converged Ethernet)或InfiniBand • 集群扩容、磁盘或服务器故障场景下,对集群数据影响范围小,数据恢复快 高可用 • 系统平滑升级 • 跨机房容灾 • 标准POSIX文件访问接口 企业级特性 • 海量小文件,单集群千亿文件数量 • 冷热数据自动分层 • 支持K8S容器存储FlexVolume、CSI接口,动态、静态创建PV,QoS、Quota等高级特性 • 支持Promethues监控 容器平台整合 • 快速定位PV热点 • 跨数据中心部署,本地读 • Top N