上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2019年腾讯基于Kubernetes的企业级容器云实践.pdf

编号:95898 PDF 24页 3.35MB 下载积分:VIP专享
下载报告请您先登录!

2019年腾讯基于Kubernetes的企业级容器云实践.pdf

1、腾讯基于kubernetes的企业级容器云实践腾讯 专家工程师目录 架构简介 企业级容器云解决方案 Next企业级容器云架构产品功能企业级容器云解决方案企业级场景易用 全组件自动化部署、统一配置管理、多策略灰度升级 提供可视化、自动化的运维能力,降低使用者的人力成本和学习成本可靠 所有组件无单点;平台本身支持热升级;组件自身HA机制,如docker;多地域多可用区的容灾设计 管理机挂掉:对应用无影响 计算节点挂掉:跨机迁移 健康探针 存活探针 就绪探针 负载均衡 重启机制 区分异常原因 本地重启/跨机重启 黑名单机制 集群核心数据的备份和恢复 Etcd 核心数据库 云盘机制保护应用数据 举例:

2、1.4升级1.9版本 Pod Hash发生变化 Container名称发生变化,点分隔改为了下划线分隔 容器标签发生变化pause容器的标签io.kubernetes.container.name=POD改为io.kubernetes.docker.type=podsandboxio.kubernetes.container.restartCount改为annotation.io.kubernetes.container.restartCoun Cgroup目录结构发生变化,新增Pod层级平台容灾应用容灾数据容灾企业内部各个集群灰度运营。可靠资源管理CPUMemoryDisk SpaceNet

3、work TXNetwork RXDisk IO(include buffer IO)GPU背景:广告业务,8个集群,4个在线集群,4个离线集群,分布在四个地区:北京、天津、成都、深圳。需求:减少机器,降低成本。手段:在线离线集群做合并。问题:容器只能管理CPU和内存,不能对网络和磁盘IO做管理,导致在线应用受离线业务影响。一次现网事故一个用户需求可靠设计目标在某个cgroup网络繁忙时,能保证其设定配额不会被其他cgroup挤占在某个cgroup没有用满其配额时,其他cgroup可以自动使用其空闲的部分带宽在多个cgroup分享其他cgroup的空闲带宽时,优先级高的优先;优先级相同时,配额

4、大的占用多,配额小的占用少尽量减少为了流控而主动丢包下图是两个进程都拼命争抢网络带宽时的效果。两个进程的带宽和时延都得不到任何程度的保证。队列:不增加队列,对每个报文直接在正常代码路径上进行决策Cgroup区分(标记):在正常处理流程中,报文查找到目标socket结构之后,根据socket的owner process来确定cgroup报文决策:令牌桶+共享令牌池+显式借令牌限速方式:ECN标记+TCP滑窗+丢包可靠短信Email微信自定义渠道4种告警方式可随时修改158项告警87项指标采集通用 不同的应用可以选择不同的网络模式 同一主机的不同容器可以选择不同的网络模式自研容器网络解决方案Gal

5、axy(CNI网络插件+调度器插件+控制器),面向所有场景:高性能互联网业务、离线业务、在线离线混合场景、传统有状态服务、公有云性能22248600000025000TCP_RR(r/s)TCP_CRR(r/s)Overlay方案性能hostvxlanipipgateway2354083682277235000TCP_RR(64)TCP_CRR(64)Underlay方案性能HostBridgeNATIPIP+Gateway混合Overlay

6、方案短链接IPIP包量比Vxlan多14.1%Gateway比Vxlan多40.5%方案被Flannel社区合并Underlay方案 Bridge方式仅比Host差6%,一般overlay比Host差2040%SRIOV方式比Bridge CPU下降38.3%,包量+6%性能Docker、Docket、Gaiastack P2P Agent下载镜像对比Registry与P2P Agent流量占比对比 镜像下载引入BT协议 对Docker Daemon零入侵 每层分别做种 优化blob下载策略发表论文:FID:A Faster Image Distribution System for Dock

7、er Platform2017 IEEE 2nd International Workshops on FASW安全能力扩展:弹性伸缩PodPodPod微服务/通用服务AutoscalercontrollerprometheusMetrics-serverAPP弹性伸缩:主动扩缩容 扩容可以指定新版本 缩容可以定点裁撤自动扩缩容资源阈值自定义指标阈值实例个数范围周期性自动伸缩AutoscalercontrollerApiservercluster-agentCloud API集群弹性伸缩:监控节点资源使用率自动迁移低负载Node上的Pod,完成缩容一定数量Pod因资源不足pending时,自动

8、扩容能力扩展:灰度升级 在GPU集群中有一个长时间服务应用prd-cloud-str-003-p40-cluster1。该应用有25个实例,每个实例需要2个GPU卡。用来提供图片识别的OCR服务。当该服务要升级新的版本时,如果对所有实例停止,则会造成服务中断;如果采用滚动升级,无法保证升级过程是否有异常,以及无法充分验证新版本的可用性(即使经过了测试阶段的测试)。通常采用灰度升级的方式:即选择某一个或N个实例先升级到新版本,在充分稳定验证后,再考虑升级其他实例,而该灰度的过程可以分为任意批次。有时为了验证多个版本,一个应用内也可以同时又多个版本并行存在。充分保证现网的服务质量以及版本的可控性。

9、能力升级:灰度升级如左图所示,对某一个实例从v7升级到v8版本。2018-02-06 11:46:38 V7版本开时候运行 2018-02-09 09:33:02 对该实例做灰度升级,从V7版本升级到V8版本 2018-02-09 09:33:02 开始pull V8版本的imagePS:灰度升级属于原地升级,因此不需要重新过调度,升级的效率也会提升。每次升级可以选择要升级的实例个数以及具体哪些(个)实例。能力扩展:存储场景物理硬盘cephFScephRBDcephRBD权限管理quota在线扩容containercontainercontainer本地磁盘container空间上报自动调度共

10、享云盘container内置云盘container 基于本机磁盘 上报至调度器 作为资源进行调度本地磁盘2类存储,3种场景本地磁盘:延时低,不可迁移共享云盘:云存储,多容器共享,同时读写内置云盘:云存储,每容器独享,用户无感知云存储 支持在线扩容、quota管理、权限管理 共享云盘基于cephFS 内置云盘基于cephRBD 腾讯内部ceph版本,微信同款能力扩展:GPU支持分布式存储Ceph海量小数据读写优化不同用户配额管理任务带盘迁移智能拓扑感知GPU卡拓扑感知资源访问代价树决策资源调度算法解决碎片化异构GPU统一管理多种调度策略,多租户管理GPU卡与CPU核自动绑定支持单机多卡和多机多卡

11、发表论文:Gaia Scheduler:A Kubernetes-based Scheduler FrameworkThe IEEE ISPA 2018(16th IEEE International Symposium on Parallel and Distributed Processing with Applications)能力扩展:GPU支持资源-访问代价树四类通信方式分类中,通信开销最大的是SOC,其次是PXB,再次是PHB,PIX通信方式的GPU之间的通信开销最小。拓扑节点中存储3个信息:子节点的GPU通信方式(SOC、PXB、PHB或PIX)可用的GPU资源数(如果下属n张G

12、PU卡则为n)节点通信开销(非GPU节点为0)GPU节点存储3个信息:GPU id 可用的GPU资源数(GPU节点为1)节点通信开销(数字越小,访问代价越低)Singular and linkFragment成本GPU使用方式实现VCUDA 在vm中构建wrapper library以拦截GPU调用并将这些调用重定向到宿主机执行Amazon将设备直接挂在到vm中GPUvm在Zen的hypervisor层实现了全虚拟化。为了隔离运行在物理GPU上的多个VM,GPUvm将物理GPU分成几个部分,并将每个部分分配给单个VM。NVIDIA GRID在硬件层面实现GPU虚拟化,每个容器可以绑定一个虚拟G

13、PUNVIDIA Docker通过将GPU设备及运行时的库转为volume挂载到容器中实现了容器与驱动的解耦。但是一个GPU设备仅能挂载到一个容器中,不支持容器间共享GPU设备ConvGPU仅支持内存资源的共享且仅处理单个GPU容器使用GPU的问题:需要特定的硬件设备 不支持容器共享 仅支持内存资源虚拟化 仅支持单个GPU卡采用Device Plugin:GPU资源的发现 为任务分配相应的硬件资源及配置容器运行时环境transparent.GaiaGPU不应修改Kubernetes代码或容器镜像以共享GPU。使用共享GPU执行应用程序应该就像在物理GPU上执行一样。Performance.Ga

14、iaGPU应当保证vGPU的性能与原生GPU性能相近。Isolation.GaiaGPU可以有效的分配和回收每个容器使用的GPU资源并实现不同容器间的资源隔离。Native_time(seconds)GaiaGPU_time(seconds)Difference(%)Tensorflow 47.82 47.88 0.13 Caffe 22.47 22.50 0.15 PyTorch 69.33 69.64 0.44 CNTK 7.39 7.41 0.27 Number of vGPUs12345resource per vGPU10.50.30.250.2发表论文:GaiaGPU:Sharing GPUs in Container CloudsThe IEEE ISPA 2018(16th IEEE International Symposium on Parallel and Distributed Processing with Applications)生态NextTencent Kubernetes Engine

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2019年腾讯基于Kubernetes的企业级容器云实践.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部