王泽锋 K8S在华为云的实践与发展

2020-02-27 304浏览

  • 1.从平台构建到领域深耕—— K8S在华为云的实践与发展 王泽锋 @kevin-wangzefeng 华为云Kubernetes开源负责人
  • 2.
  • 3.王泽锋 • 华为云Kubernetes开源负责人 Kubernetes 社区 Maintainer,曾主导负责社区亲和/ 反亲和性等多项高级调度特性设计和开发。 • 华为云 PaaS 服务团队核心成员,2013年起参与华为 PaaS平台及容器服务产品构建 • 目前负责华为云在 Kubernetes、云原生领域开源贡献, 相关项目在华为云产品化落地的整体工作。 KubeGene和KubeEdge项目联合发起人。
  • 4.• Kubernetes 在华为的落地与发展 • 在基因测序中使用K8s的探索与实践 • 基于K8s构建云边统一平台的实践与进展
  • 5.华为云容器实践历程 Kubernetes 2013 华为PaaS项目启动 基于CloudFoundry 构建PaaS平台 2014 2016 2018 华为PaaS项目二期 (FusionStage) 华为云容器引擎服 务发布 华为云容器实例服 务发布 切换至Kubernetes平 台,并大力投入K8S 与CNCF 国内首家基于 Kubernetes的公有 云容器服务,提供企 业级保障 全球首家基于 Kubernetes的公有云 Serverless容器服务, 容器免运维、按需使用
  • 6.华为云K8S全栈容器服务 应用编排 交付 运维 治理全生命周期 云容器引擎 企业级高可靠、高性能K8S服务 服务网格 K8S原生Service Mesh 云容器实例 基于K8S的Serverless容器服务 应用运维管理 丰富可定制的容器应用立体化运维 容器镜像服务 容器镜像一站式构建、 存储与交付 应用编排服务 应用云上自动化编排与设施管理
  • 7.积极回馈社区,推动K8s发展 调度: • 多云多集群: • ‐ 高级调度策略 NodeAffinity ‐ 跨集群应用管理 Federation v1 ‐ 高级调度策略 PodAffinity ‐ 跨集群应用管理 Federation v2 (new) ‐ 高级调度策略 Taints-tolerations ‐ 高性能调度器 Poseidon (new) 网络: • ‐ Service性能优化 Kube-proxy IPVS mode ‐ 多网络平面 CNI-Genie (第三方插件) ‐ 高级路由策略 *Topology Aware Service Routing *: Working in progress 集群生命周期管理: • ‐ ComponentConfig (new) ‐ Cluster-API-provider-openstack (new) 高级存储特性: • ‐ 区域化存储自动创建 Topology Aware volume provisioning (new) ‐ 存储快照 Volume Snapshots (new)
  • 8.从泛互联网到各行业领域 泛互联网 智 慧 物 流 智 慧 医 疗 工 业 制 造 金 融 政 府 Kubernetes 容器运行时 容器网络 容器存储
  • 9.华为云帮助基因测序行业使用Kubernetes 最小资源消耗、高密度计 Sam-flag 基因容器服务(GCS) Bwa-mapping Merge-bam Merge-sam Mark-dup 省钱 节点(VM) 节点(VM) 节点(VM) Kubernetes容器集群 算、0运维成本 节点(VM) 秒级扩容万级并发、零等待、 节点(VM) 节点(VM) 耗时降低70% 省时 快速迁移、免安装一键式重 Docker容器 节点(VM) 建,N天降至半小时 省力
  • 10.Kubernetes帮助公有云将AI能力推到边缘 设备 边缘 设备 控制 智能边缘平台(IEF Edge) 智能边缘平台(IEF Service) AI@Edge 工作负载管理&算法推送 PaaS@Edge Serverless@Edge 数据 接入 华为云 轻量化OS/轻量化容器引擎 边缘硬件 1. 华为智能小站Atlas 500(D芯 片)、2288服务器、 AR网关 2. 兼容广泛的第三方硬件(x86、 ARM) 云边 协同 安平场景 边缘节点管理 工业场景 企业智能(EI) EI基础平台:ML/DL EI视觉认知 EI语音语义 EI大数据 异构计算资源 车联网场景
  • 11.• Kubernetes 在华为的落地与发展 • 在基因测序中使用K8s的探索与实践 • 基于K8s构建云边统一平台的实践与进展
  • 12.基因测序背景知识 基因数据处理的关键过程,数据分析所需要的软件平台会越来越重要 NGS 原始文件 (raw data) 第一阶段(primary) 质量控制 通常和测序仪类型强相关 核酸提取(dna extraction) Fastq 二代测序(NGS) 唾液样本 (saliva) 文库制备(library construction) 芯片(chip array) Chip array 第二阶段(Secondary) 生物学流水线,GATK bio-pipeline 基因型 无创非接触式 第三阶段(Tertiary) 解读 综合分析 大数据 机器学习 准备阶段(preparation) 上机测序(sequencing) 数据分析(data analysis)
  • 13.基因测序介绍 – 二代测序(NGS) 特点: 1. 打断成小片段,分别测序 2. 最后根据参考组,还原结果 一次可测序量很大,时间消耗远小于 上一代,成本优势明显 目前成为主流测序方法 人类基因的顺序 =》参考组
  • 14.拼图算法 软件处理 总长度30亿BP 每个read 300BP (如果把它看作一根筷子) 总数据数量:至少1千万只筷子。拼接的筷子总长度,从北京到上海 30X 覆盖率,再乘以30倍
  • 15.IT设施面临的挑战—工具碎片化 >5000+ 不同的细分领域有自己的工具集 不同的语言环境
  • 16.基因测序主要特点 数据量大(高通量数据源) • 以HiSeq X10测序仪为例,产生1600Gb/轮 ‐ › 一个人30x全基因组样本数据FASTQ文件大约是200GB › 一个人30x全基因组中间数据sam文件大小超过600GB 计算密集 • ‐ Mapping, Filter, Deduplication, Alignment, Index, Compress, ‐ Recalibration, Depth-coverage, Cleanup, Calling-variants… 工具/应用碎片化 • ‐ 不同细分领域有自己的工具集 (超过5000种工具版本) ‐ 不同开发语言环境
  • 17.Why K8s? Gaps? 优势 ‐ 容器镜像 封装 工具 & 运行环境 - 易于管理 ‐ 灵活精细的资源管理和调度 - 优化成本 ‐ 算法效率优化 => 并发度优化 - 降低研发难度 Gaps ‐ K8s的学习门槛 ‐ 传统HPC使用习惯 ‐ 缺少流程控制和依赖管理
  • 18.KubeGene • 开箱即用的容器化基因测序管理框架 • 基于Kubernetes构建 • 针对基因测序场景提供: ‐ 一套针对基因测序的流程描述语法 ‐ 接近SGE用户体验的命令行工具 ‐ 定向优化的工作流引擎 ‐ 基因测序的最佳实践流程https://kubegene.io
  • 19.KubeGene 架构 基本概念 • ‐ Tools:测序分析软件、工具定义 ‐ Workflow:测序流程定义 ‐ Execution:流程执行实体,记录参数和进度 核心组件 • genectl ‐ › 解耦的parser设计,轻松扩展多种语法 workflow KubeGene-CLI YAML Parser 创建流程对象 (exection) DAG流程,控制Job创建 Dag-engine Plugin KubeDag ‐ › 支持通过plugin调用多种运行框架,K8s,spark等 Job …Job
  • 20.KubeGene 核心设计理念 动态并发、非完全展开的Execution • ‐ 更小的对象,降低Etcd压力 ‐ 支持根据数据量决定并发数,如数据定长分片 Workflow支持多种并发描述语法 • ‐ 便于不同用户快速迁移到新框架 匹配测序场景的最佳实践 • ‐ 默认配置装箱策略,避免K8s集群资源碎片化
  • 21.KubeGene后续计划 • Server-side workflow & tools management • More tools & workflow examples • Advanced job management ‐ Priority and Preemption ‐ Co-scheduling / Gang scheduling Migration tool from other platforms • ‐ Simple Job Manager ‐ Snakemake • Integration with Spark • Integration with other workflow engines • Multi-cluster
  • 22.• Kubernetes 在华为的落地与发展 • 在基因测序中使用K8s的探索与实践 • 基于K8s构建云边统一平台的实践与进展
  • 23.从云到边 – 典型场景和诉求 平安城市 • 低时延:工业控制 - 微秒级,AR/VR - 毫秒级 • 数据量&带宽:数据量远大于带宽、大量数据无全局价值 • 信息安全:个人隐私数据、商业敏感数据 • 本地自治:可适应离线运行、本地自治管理、高可靠性 工业互联网 车联网
  • 24.Why k8s? 优势与Gap 优势 • 通用的应用抽象定义 – 业界事实标准 • 容器化应用封装 – build once, run anywhere • 松耦合的架构 – 易于扩展和定制 Gaps • 资源有限,往往很少 • 网络受限 ‐ 私网,带宽有限,延迟高 需要支持离线自治 • ‐ 网络不稳,随时可能离线 ‐ 离线状态下,边缘节点能够自治
  • 25.Kubernetes IoT Edge WG • 聚焦实现Kubernetes在IoT/边缘计算场景的方案 • Co-chair ‐ Cindy Xing (@cindyxing), Huawei ‐ Dejan Bosanac (@dejanb), Red Hat ‐ Preston Holmes (@ptone), Google ‐ Steve Wong (@cantbewong), VMWare 目标 • • 提供适用于各种IoT/边缘计算环境的参考架构 • 构建端到端的PoC,验证设计,并提供系统集成样例 • ……
  • 26.KubeEdge – 云原生边缘计算管理框架 • 基于Kubernetes构建,100%兼容K8s API • 定制的边缘节点组件和运行时 • 可靠的消息通道 • 边缘离线可自治 • 丰富的应用/协议支持 • 简化设备访问https://kubegene.io
  • 27.KubeEdge 架构 App kubectl KubeEdge(Cloud Part) Containers KubeEdge(Edge Part) OS + Runtime Volume Configmap Pod Prober Event Driver/SDK ... Edged Devices Pod/Volume/... Data Store Devices MetaManager EdgeHub DeviceTwin EventBus MQTT Broker
  • 28.KubeEdge后续计划 KubeEdge 云端部分的开源,作为Kuberentes IoT/Edge WG的参考实现 接下来的时间里,将重点构建以下能力: • K8s云边应用统一管理 • K8s configmap、secret等在边缘的支持 • 云边通信、边边通信支持 • 边缘离线自治 Checkouthttps://github.com/kubeedge/kubeedge#roadmap
  • 29.贡献 & 交流 KubeGene • ‐ 网站:https://kubegene.io‐ Github:https://github.com/kubegene‐ Slack:https://kubegene.slack.comKubeEdge • ‐ 网站:https://kubeedge.io‐ Github:https://github.com/kubeedge‐ Slack:https://kubeedge.slack.com容器魔方 技术公众号
  • 30.
  • 31.
  • 32.