[转帖]浙江移动容器云在ARM服务器的实践
浙江移动容器云在ARM服务器的实践
- 国产ARM服务器上面跑K8S集群..
- 貌似浪潮信息也有 龙芯的K8S集群..
一、背 景
浙江移动容器云自14年开始至今,已相继完成了双平面容灾、双引擎兼容等关键能力建设,目前已承载并稳定运行包括核心业务在内的350多套系统,容器数量超过30000个。
服务器是数据中心的重要组成部分。为探索数据中心IT架构多样性,浙江移动容器云于近期开展基于ARM服务器集群的异构双平面能力建设实践,为ARM服务器成功落地数据中心提供有力支撑。
二、ARM与X86的区别
2.1、技术模式
X86是英特尔主导开发的一种微处理器体系结构的泛称,使用CISC(复杂指令集计算机)架构。而ARM(全称为:Advanced RISC Machines)架构采用了RISC(精简指令集计算机)架构,由ARM公司主导。
2.2、产业模式
与英特尔直接出售芯片成品不同,ARM只负责最初的芯片设计部分,合伙伙伴通过ARM授权的IP(Intellectual Property,知识产权) 许可证进行芯片制造和封装。
2.3、软件兼容性
因使用了不同指令集,x86服务器和ARM服务器在硬件、操作系统上存在较大差异。ARM服务器芯片生态相较于x86还存在一定差距。
三、ARM的优势
3.1、自主可控
由于ARM的商业模式是IP售卖,所以可从根本上规避x86隐藏的专利与供应链风险。芯片厂商一次性买断某个版本即可获得永久性授权。
3.2、性能
云时代,企业IT架构对高并发、多线程和任务单一的计算模式大幅增加,得益于RISC流水线指令集,ARM服务器的指令执行效率比x86服务器更高,在一些任务相对固定的应用场合其优势可以得到充分发挥。
3.3、功耗与成本
ARM架构的服务器大幅精简指令集,相较于x86服务器,不仅使处理器得到简化,也使处理器体积更小、低耗更低。低功耗带来的直接效益是低成本。更加贴合企业云化大规模计算的需求。
四、容器云双平面兼容ARM服务器
浙江移动在IT数字化转型过程中着力建设的容器云平台经过多年发展,已形成了兼容异构容器编排引擎、具备双平面容灾能力的先进弹性计算服务架构。
■ 异构双引擎架构:平台同时兼容Mesos和Kubernetes容器编排引擎,并对租户提供统一无差异的容器使用体验。
■ 双平面容灾架构:平台在每个可用区域建立独立的、完整的集群。租户可通过容器云管理平台对应用实现在不同区域的发布、启停等统一维护操作。通过双平面调度能力,应用可快速在不同集群完成实例部署。
双平面的架构特性为容器云平台快速兼容ARM架构服务器提供了可能。容器云平台可在不中断服务的前提下,在生产环境新增ARM服务器集群平面并实现业务承载的服务状态。
4.1、运行平面扩展——ARM服务器集成
基于双平面架构,有以下两种思路可实现容器云集群对ARM服务器集群的快速集成:
■ 新增一个ARM平面
管理平台具备统一管理“多”运行平面的能力,因此可在不影响现有x86运行平面承载业务的基础上增加一个ARM运行平面,借助容器云管理平台的快速扩容能力实现业务集群的扩容。
■ “替换”一个x86平面
利用双平面架构的容灾能力,用ARM运行平面替换一个x86运行平面,实现异构双平面的运行架构
4.2、调度引擎集成
目前容器云平台向下可对接Mesos和K8S两种开源调度引擎,两种引擎均已支持在ARM服务器集群进行部署。本次实践选择Mesos双平面完成。
4.3、基础镜像适配
基础镜像中包含了应用运行的依赖环境。由于x86和ARM的指令集差异,需要重新在ARM服务器上通过Docker重新构建镜像。
4.4、异构双平面验证实践
本次选择方案二对容器云兼容ARM服务器集群进行验证。为充分测试ARM架构下服务的可用性,本次实践选择了某核心服务系统的应用,其日均前端请求速率量最高达200+次/秒。
应用集群总体规模保持不变,通过调整软、硬负载可实现集群切换的功能。在ARM服务器集群上线前,暂停A平面软负载;ARM平面准备就绪后,重启A平面软负载,并在A平面启动应用容器集群,实现两个集群的并行运行。
4.5、灾备切换
在异构双平面运行阶段,容器云提供了完整的灾备能力。当某个运行平面群异常时,可暂停运行平面的软负载,利用容器云平台的快速扩容能力在另一运行平面将实例数扩容至原集群2倍,即可实现容灾。
五、实践效果异构双平面运行效果如下图,在高峰期,业务在ARM与x86平面的实例响应基本一致,平台对ARM服务器的兼容性和可用性得到验证!
六、实践总结华为ARM服务器在浙江移动的成功试行,一方面再次证实浙江移动容器云平台双平面能力带来的灵活、可拓展性,另一方面也表明浙江移动容器云已具备对ARM服务器的平滑兼容能力,将助力浙江移动数据中心实现完全自主可控的基础设施建设。相信未来不久的时间内,国产ARM架构服务器一定会有更进一步的发展。
[转帖]浙江移动容器云在ARM服务器的实践的更多相关文章
- [转帖]华为Hi 1620 等ARM 服务器版本CPU信息.
华为ARM服务器恐依赖党政输血续命 一旦制裁立马休克 http://www.sohu.com/a/240833070_99934330 几年前,ARM服务器被业界炒的火热,AMD.高通.Marvell ...
- [转帖]华为鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例
鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例 https://m.ithome.com/html/444828.htm 2019-09-12 15:25IT之家 (阿迷) 今年一月份 ...
- [转帖]一文看懂web服务器、应用服务器、web容器、反向代理服务器区别与联系
一文看懂web服务器.应用服务器.web容器.反向代理服务器区别与联系 https://www.cnblogs.com/vipyoumay/p/7455431.html 我们知道,不同肤色的人外貌差别 ...
- [转帖]容器云之K8s自动化安装方式的选择
容器云之K8s自动化安装方式的选择 时间 2016-12-05 19:10:53 极客头条 原文 http://geek.csdn.net/news/detail/127426 主题 Kubern ...
- 【容器云】传统金融企业的 Docker 实践
基于 Docker 的容器云-Padis 目前市面上基于容器云的产品有很多,对于平安而言,则是基于 Docker 的 Padis 平台.所谓 Padis,全称是 PingAn Distribution ...
- 【原创译文】基于Docker和Rancher的超融合容器云架构
基于Docker和Rancher的超融合容器云架构 ---来自Rancher和Redapt 超融合架构在现代数据中心是一项巨大的变革.Nutanix公司发明了超融合架构理论,自从我听说他们的“iPho ...
- 容器云技术选择之kubernetes和swarm对比
swarm和k8s本质都是容器编排服务.它们都能把底层的宿主机抽象化,然后将应用从以构建好的镜像开始,最终以docker的方式部署到宿主机上. 应该选择哪种方案作为我们的容器云服务呢? 我觉得k8 ...
- 容器化 — 基于Docker技术容器云
导读:本文介绍了基于Docker技术的企业级应用容器平台,从云的定义.云服务分类,到用友云PaaS基础平台.平台总体架构.架构预览.部署架构.平台核心价值和核心竞争力,阐述PaaS基础平台成为广大传统 ...
- Redis之父表示ARM服务器没戏!
ARM表示Neoverse N1平台和E1 CPU即将发布,Neoverse N1和E1采用7nm制程,并且为服务器和通信设备增加重要提升,拥有高可扩展性.高处理量以及高性能,将分别在2020年和20 ...
随机推荐
- [kuangbin带你飞]专题一 简单搜索 x
A - 棋盘问题 POJ - 1321 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋 ...
- mysql清表时有外键关联处理办法
可以忽视关联的情况下: 先取消主外键关系验证:SET FOREIGN_KEY_CHECKS = 0; 然后删除需要删除的数据:truncate table table_name; 最后恢复:SET F ...
- Rabbitmq的高级特性
消息如何保证100%投递成功? 什么是生产端的可靠性投递? 1.保障消息的成功发出 2.保障MQ节点的成功接收 3.发送端收到MQ节点(Broker)确认应答 4.完善的消息补偿机制 BAT互联网大厂 ...
- 编译器GCC的Windows版本 : MinGW-w64安装教程
MinGW-w64安装教程 http://rsreland.net/archives/1760
- Yum:[Errno 5] [Errno 2] No such file or directory
出现这样的问题,就是因为之前python2升级到python3之后,yum有些配置文件定位不到之前的python2了,所以这里需要改掉两个配置文件就不会出事了. yum安装软件时,可以连接yum 仓库 ...
- H264之基础篇
1. H264 基础概念 在 H.264/AVC 视频编码标准中,整个系统框架划分为如下两个层面: 视频编码层(VCL):VCL 数据即被压缩编码后的视频数据序列,负责有效表示视频数据的内容: 网络抽 ...
- 五、Jmeter中提取JSON响应中数组的长度
json响应如下: { "code":0, "data":{ "data":[ { "amount":50000, &q ...
- GitHub-Microsoft:DotNet3
ylbtech-GitHub-Microsoft:DotNet3 1.返回顶部 · mbmlbook Sample code for the Model-Based Machine Learning ...
- k8s报错解决
. Jul :: lab3 etcd[]: the server is already initialized as member before, starting as etcd member... ...
- JS事件中级 --- 拖拽
http://bbs.zhinengshe.com/thread-1200-1-1.html 要求:实现div块的拖拽 原理:拖拽过程中鼠标点和div块的相对位置保持不变. 需要理解三点: 1. 为什 ...