华为CCE容器云实践

2020-02-27 241浏览

  • 1.华为企业云 CCE容器引擎实践 ——从IaaS到PaaS到容器集群 PaaS开发部 钟成 console.hwclouds.com/cce HUAWEI TECHNOLOGIES CO, LTD.
  • 2.目录 • 容器部署时代的来临 • 我们离生产可用的容器服务还有多远? • CCE的一些尝试 • 容器集群技术能带给我们什么? Page 2
  • 3.IaaS服务如日中天 l 2014-2015年,大家都在安逸的使用IaaS服务 l 亚马逊AWS的部署能力方面比所有竞争对手加起来还大5倍之多,2014年盈利6.6亿美元, 2015年Q1盈利2.65亿美元 l 阿里云在国内客户总数为140万,2015年Q3盈利6.49亿元 Page 3
  • 4.容器的崛起 l 容器是操作系统内核自带能力,早已存在。基于linux内核已实现的轻量级高性能资源隔离机制 (cgroups, namespace, lxc) l 虚拟机是操作系统级别的资源隔离,容器本质上是进程级别的资源隔离,所以容器可以秒级启动, 比VM要轻量很多 l Docker并没有发明容器,它的核心思路在于实现应用和运行环境的整体打包,统一镜像格式 l Docker只是容器的一种,还有rkt, warden等,几乎每个大厂都会自己搞一套 Page 4
  • 5.容器:一段简史 Page 5
  • 6.开放容器计划 www.opencontainers.org 1.制定一个厂商中立(vendorneutral)联合(federated) 协议 2.通过规定容器应该以什么方 式制定命名空间,怎样被发现 以及怎样被下载 3.可以给最终用户提供一个统 一的视角(federated view), 同时消除厂商锁定(vendor lock-in) 4.鼓励多样化的实现 5.华为是OCI的会员 2015.6 Page 6
  • 7.未来真的这么美好吗? Page 7
  • 8.目录 • 容器部署时代的来临 • 我们离生产可用的容器服务还有多远? • CCE的一些尝试 • 容器集群技术能带给我们什么? Page 8
  • 9.一个生产可用的容器服务需要…… 基础架构 • • • • 容器主机I层的管理 容器生命周期管理 容器网络 容器存储管理 • 负载均衡 • 服务注册和发现 • 多租户隔离 监控运维 • 容器运行状态监控 • 集群运行状态监控 • • • • 日志访问和聚合分析 应用平滑升级 灰度发布 API接口调用 外围支持 • 对接代码库进行构建 • 持续集成流水线 • 公共/私有镜像仓库 • 关系数据库、消息中 间件、对象存储等支持 • 应用依赖管理 • 应用配置管理 • 多机房、跨AZ支持 Page 9
  • 10.基础设施建设,任重道远 Page 10
  • 11.当初是为啥要发明操作系统来着……? ? • 一味的实现功能特 性的软件走不远 • 合理抽象,帮助开 发者管理系统复杂度 • 集群时代的合理抽 象是什么? cluster cluster cluster Page 11
  • 12.Kubernetes带给我们的抽象 鸟语 人话 Container 容器 Pod 容器组 Replication Controller 复制控制器 Service 服务 Label 标签 Node 节点 Kubernetes Master 主节点 Page 12
  • 13.Kubernetes的手感 特性 • 自动化容器的部署和 复制 • 随时扩展或收缩容器 规模 • 将容器组织成组,并 且提供容器间的负载均 衡 • 很容易地升级应用程 序容器的新版本 需要关心 • • • • • • 服务的组织 负载均衡 名字服务 状态管理 监控、日志 升级 不需要关心 • • • • • 操作系统细节 包管理—无冲突 机器大小,机器数量 多语言混合 端口冲突 Page 13
  • 14.云原生计算基金会 cncf.io 1.专注于容器编排层的生态 2.围绕着容器打包分发、应用 动态调度、微服务的以基础设 施架构为中心的方式 3.推进相关技术创新、统一业 界标准 4.聚焦于kubernetes,同时也 和Mesos/Mesosphere DCOS 协调 5.华为是CNCF的白金会员 2015.6 Page 14
  • 15.目录 • 容器部署时代的来临 • 我们离生产可用的容器服务还有多远? • CCE的一些尝试 • 容器集群技术能带给我们什么? Page 15
  • 16.CCE的道路 • 选用kubernetes作为核心,提 供正确的集群抽象 • 建立一套良好的用户使用界面 • 和I层基础设施深度整合,存储、 网络…… • 提供良好的外围设施 Page 16
  • 17.内测中的CCE Page 17
  • 18.容器SDN网络 • 支持容器网络划分 子网,并支持多租户 隔离(共享集群) • 容器网络流量分离。 例如管理流量、业务 流量、NAS流量和备 份流量(私有集群) • 容器和容器,容器 和VM之间通信 • 其余功能还在规划 实现中…… Page 18
  • 19.集群规模调优 核心指标 • “API延时”:99%的API调用响应时间小 于1秒 • “Pod启动时间”:99%的pods(已经下 好镜像)启动时间在5秒以内 优化工作 • 搭建整套性能调优工具 链,准确统计各项延时和 吞吐 • 调试各项参数,保证集 群运行在最优化的状态下 • 分析k8s系统的组件级 瓶颈,代码级瓶颈 • 优化scheduler,提升 调度速度100% Page 19
  • 20.容器图形化编排 Page 20
  • 21.Kubernetes开源社区贡献 commits 360+,全球排名第四,国内第一 Google Redhat 10.72% independent Huawei 11.89% Fathomdb 62.78% CoreOS Mesosphere ZheJiang University Amadeus • • • • CentOS k8s集群管理 k8s运维系统对接kafka k8s运维系统对接elastic search 亲和/反亲和性调度 • Heapster重构及sink扩展 • 主导设计Ubernetes集群联邦 • 其他Bug和修复…… Page 21
  • 22.Docker开源社区贡献 commits 400+,全球排名第三,国内第一 • • • • • • • • 增加关闭容器oom功能 容器重启策略增强 日志格式优化,更便于解析 环境依赖检测功能增强 增加容器cpu带宽限制 增加容器IO带宽限制 增加内存节点限制 增加内核内存限制 • 增加内存预留机制 • 增加swap内存限制 • Docker exec增强,增加指定用户和特权用 户执行exec • Docker build资源限制增强 • 增加ARM64支持 • 安全加固,增加seccomp支持 • 增加在容器内获取cgroup信息功能 Page 22
  • 23.目录 • 容器部署时代的来临 • 我们离生产可用的容器服务还有多远? • CCE的一些尝试 • 容器集群技术能带给我们什么? Page 23
  • 24.未来的云软件栈 Gmail FlumeJava Millwheel Google Docs Pregel GFS/CFS Web Search Bigtable Megastore Borg->k8s Page 24 MapReduce
  • 25.传统企业走在转型互联网企业的路上 • 用户体验越来越重要 • 业务更替越来越频繁 • 数据处理越来越成为企 业的核心竞争力 • 服务端集群越来越复杂 • • • • • 分布式,增量式开发 持续集成,自动化测试 松耦合,微服务架构 按需伸缩,自动化运维 容器镜像发布 这一切都依赖于 容器集群 Page 25
  • 26.各种新技术将受益于容器集群能力 Page 26
  • 27.用户会以想象不到的方式使用技术 Page 27
  • 28.华为企业云 CCE容器引擎 邀您共同拓展 云计算的星辰大海http://console.hwclouds.com/ccePage 28