《2019年腾讯基于Kubernetes的企业级容器云实践.pdf》由会员分享,可在线阅读,更多相关《2019年腾讯基于Kubernetes的企业级容器云实践.pdf(24页珍藏版)》请在三个皮匠报告上搜索。
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网络插件+调度器插件+控制器),面向所有场景:高性能互联网业务、离线业务、在线离线混合场景、传统有状态服务、公有云性能2219072611646248611744255482146168280500010000150002000025000TCP_RR(r/s)TCP_CRR(r/s)Overlay方案性能hostvxlanipipgateway2354083682212776752100772310500010000150002000025000TCP_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