阿里巴巴大规模神龙裸金属 Kubernetes 集群运维实践
导读:值得阿里巴巴技术人骄傲的是 2019 年阿里巴巴 双11?核心系统 100% 以云原生的方式上云,完美支撑了?54.4w 峰值流量以及?2684 亿的成交量。背后承载海量交易的计算力就是来源于容器技术与神龙裸金属的完美融合。
集团上云机器资源形态阿里巴巴 双11 采用三地五单元架构,除 2 个混部单元外,其他 3 个均是云单元。神龙机型经过 618、99 大促的验证,性能和稳定性已大幅提升,可以稳定支撑 双11。今年 双11 的 3 个交易云单元,已经 100% 基于神龙裸金属,核心交易电商神龙集群规模已达到数万台。
神龙架构阿里云 ECS 虚拟化技术历经三代,前二代是 Xen 与 KVM,神龙是阿里巴巴自研的第三代 ECS 虚拟化技术产品,它具备以下四大技术特征:
存储和网络 VMM?以及?ECS?管控,和计算虚拟化分离部署;
计算虚拟化进一步演化至 Near
Metal Hypervisor;
存储和网络 VMM?通过芯片专用?IP?业务加速;
并池支持弹性裸金属和 ECS?虚拟机生产。
简而言之,神龙将网络/存储的虚拟化开销 offload 到一张叫 MOC 卡的 FPGA 硬件加速卡上,降低了原 ECS 约 8% 的计算虚拟化的开销,同时通过大规模 MOC 卡的制造成本优势,摊平了神龙整体的成本开销。神龙类物理机特性,可进行二次虚拟化,使得对于新技术的演进发展留足了空间,对于采用一些多样的虚拟化的技术,像 Kata、Firecracker 等成为了可能。
在阿里巴巴 双11 大规模迁移到神龙架构前,通过在 618/99 大促的验证,我们发现集团电商的容器运行在云上神龙反而比非云物理机的性能要好 10%~15%,这令我们非常诧异。经过分析,我们发现主要是因为虚拟化开销已经 offload 到 MOC?卡上,神龙的 CPU/Mem 是无虚拟化开销的,而上云后运行在神龙上的每个容器都独享 ENI 弹性网卡,性能优势明显。同时每个容器独享一块 ESSD 块存储云盘,单盘 IOPS 高达 100 万,比 SSD 云盘快 50 倍,性能超过了非云的 SATA 和 SSD 本地盘。这也让我们坚定了大规模采用神龙来支撑 双11 的决心。
神龙+容器+Kubernetes在 All in Cloud 的时代企业 IT 架构正在被重塑,而云原生已经成为释放云计算价值的最短路径。2019 年阿里巴巴 双11 核心系统 100% 以云原生的方式上云,基于神龙服务器、轻量级云原生容器以及兼容 Kubernetes?的调度的新的 ASI(alibaba serverless infra.)调度平台。其中 Kubernetes Pod 容器运行时与神龙裸金属完美融合,Pod 容器作为业务的交付切面,运行在神龙实例上。
下面是 Pod 运行在神龙上的形态:
ASI Pod 运行在神龙裸金属节点上,将网络虚拟化和存储虚拟化 offload 到独立硬件节点 MOC 卡上,并采用 FPGA 芯片加速技术,存储与网络性能均超过普通物理机和 ECS;MOC 有独立的操作系统与内核,可为 AVS(网络处理)与 TDC(存储处理)分配独立的 CPU 核;
ASI Pod 由 Main 容器(业务主容器),运维容器(star-agent side-car 容器)和其它辅助容器(例如某应用的 Local 缓存容器)构成。Pod 内通过 Pause 容器共享网络命名空间,UTS 命名空间和 PID 命名空间(ASI 关闭了 PID 命名空间的共享);
Pod 的 Main 容器和运维容器共享数据卷,并通过 PVC 声明云盘,将数据卷挂载到对应的云盘挂载点上。在 ASI 的存储架构下,每一个 Pod 都有一块独立的云盘空间,可支持读写隔离和限制磁盘大小;
ASI Pod 通过 Pause 容器直通 MOC 卡上的 ENI 弹性网卡;
ASI Pod 无论内部有多少容器,对外只占用独立的资源,例如 16C(CPU)/60G(内存)/60G(磁盘)。
大规模神龙运维2019 年 双11 云上核心交易的神龙集群规模已达到数万台,管理和运维如此大规模神龙集群极具挑战,这其中包括云上各类业务实例规格的选择、大规模集群弹性扩缩容、节点资源划分与管控、核心指标统计分析、基础环境监控、宕机分析、节点标签管理、节点重启/锁定/释放、节点自愈、故障机轮转、内核补丁升级、大规模巡检等能力建设。
下面就几个领域细化展开:
实例规格首先需要针对不同类型业务规划不同的实例规格,包括入口层、核心业务系统、中间件、数据库、缓存服务这些不同特性的基础设施和业务,有些需要高性能的计算、有些需要高网络收发包能力,有些需要高性能的磁盘读写能力。在前期需要系统性整体规划,避免实例规格选择不当影响业务性能和稳定性。实例规格的核心配置参数包括 vcpu、内存、弹性网卡数,云盘数、系统盘大小、数据盘大小、网络收发包能力 (PPS)。
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/42416.html
- 上一篇:如何借鉴竞争对手网站,做好网站SEO优化!!
- 下一篇:host拒绝非法请求