浙江移动容器云在ARM服务器的实践

2019-07-11 22:27 中文社区 分类:Kubernetes实践分享/开发实战 阅读(427) 评论(0) 
国产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服务器的实践的更多相关文章

  1. [转帖]华为Hi 1620 等ARM 服务器版本CPU信息.

    华为ARM服务器恐依赖党政输血续命 一旦制裁立马休克 http://www.sohu.com/a/240833070_99934330 几年前,ARM服务器被业界炒的火热,AMD.高通.Marvell ...

  2. [转帖]华为鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例

    鲲鹏云服务器实战:华为云鲲鹏KC1实例 vs. 阿里云G5实例 https://m.ithome.com/html/444828.htm 2019-09-12 15:25IT之家 (阿迷) 今年一月份 ...

  3. [转帖]一文看懂web服务器、应用服务器、web容器、反向代理服务器区别与联系

    一文看懂web服务器.应用服务器.web容器.反向代理服务器区别与联系 https://www.cnblogs.com/vipyoumay/p/7455431.html 我们知道,不同肤色的人外貌差别 ...

  4. [转帖]容器云之K8s自动化安装方式的选择

    容器云之K8s自动化安装方式的选择 时间 2016-12-05 19:10:53  极客头条 原文  http://geek.csdn.net/news/detail/127426 主题 Kubern ...

  5. 【容器云】传统金融企业的 Docker 实践

    基于 Docker 的容器云-Padis 目前市面上基于容器云的产品有很多,对于平安而言,则是基于 Docker 的 Padis 平台.所谓 Padis,全称是 PingAn Distribution ...

  6. 【原创译文】基于Docker和Rancher的超融合容器云架构

    基于Docker和Rancher的超融合容器云架构 ---来自Rancher和Redapt 超融合架构在现代数据中心是一项巨大的变革.Nutanix公司发明了超融合架构理论,自从我听说他们的“iPho ...

  7. 容器云技术选择之kubernetes和swarm对比

    swarm和k8s本质都是容器编排服务.它们都能把底层的宿主机抽象化,然后将应用从以构建好的镜像开始,最终以docker的方式部署到宿主机上.   应该选择哪种方案作为我们的容器云服务呢? 我觉得k8 ...

  8. 容器化 — 基于Docker技术容器云

    导读:本文介绍了基于Docker技术的企业级应用容器平台,从云的定义.云服务分类,到用友云PaaS基础平台.平台总体架构.架构预览.部署架构.平台核心价值和核心竞争力,阐述PaaS基础平台成为广大传统 ...

  9. Redis之父表示ARM服务器没戏!

    ARM表示Neoverse N1平台和E1 CPU即将发布,Neoverse N1和E1采用7nm制程,并且为服务器和通信设备增加重要提升,拥有高可扩展性.高处理量以及高性能,将分别在2020年和20 ...

随机推荐

  1. HZOJ 20190727 T2 单(树上dp+乱搞?+乱推式子?+dfs?)

    考试T2,考试时想到了40pts解法,即对于求b数组,随便瞎搞一下就oxxk,求a的话,很明显的高斯消元,但考试时不会打+没开double挂成10pts(我真sb),感觉考试策略还是不够成熟,而且感觉 ...

  2. flask框架(十一): 蓝图

    蓝图用于为应用提供目录划分: 一:上目录结构 二:上代码 <!DOCTYPE html> <html lang="en"> <head> < ...

  3. Centos 7 安装 Xilinx SDSoC Development Environment

    1.CentOS版本信息 $ cat /etc/redhat-releaseCentOS Linux release 7.6.1810 (Core) 2.SDSoC下载地址: https://www. ...

  4. 【译】XMLHttpRequest和Fetch, 谁最适合AJAX?

    原文地址:https://www.sitepoint.com/xmlhttprequest-vs-the-fetch-api-whats-best-for-ajax-in-2019/ 目录 从AJAX ...

  5. Keras学习笔记一:修改数据读入方式为本地图片读入

    第一种方法: Keras官方给的图片去噪示例要自动下载mnist数据集并处理,不能修改和加入自己的数据集. from keras.datasets import mnist (x_train, _), ...

  6. MERGE INTO 解决大数据量复杂操作更新慢的问题

    现我系统中有一条复杂SQL,由于业务复杂需要关联人员的工作离职三个表,并进行分支判断,再计算人员的字段信息,由于人员多,分支多,计算复杂等原因,一次执行需要5min,容易卡死,现在使用MERGE IN ...

  7. C++入门经典-例7.8-const对象,标准尺寸

    1:当建立一个对象之后,如果不希望它的任何数据发生改变,可以将其直接声明为const对象,例如: const 类名 对象名 const对象必须初始化.我们可以调用它的数据和函数,但是不可以对他们进行修 ...

  8. C++入门经典-例7.6-this指针,同一个类的不同对象数据

    1:对于类的非静态成员,每个对象都有自己的一份拷贝,即每个对象都有自己的数据成员,不过成员函数却是每个对象共享的.那么调用共享的成员函数如何找到自己的数据成员呢?答案是通过类中隐藏的this指针. 2 ...

  9. Java内存缓存-通过Map定制简单缓存

    缓存 在程序中,缓存是一个高速数据存储层,其中存储了数据子集,且通常是短暂性存储,这样日后再次请求此数据时,速度要比访问数据的主存储位置快.通过缓存,可以高效地重用之前检索或计算的数据. 为什么要用缓 ...

  10. Java-JDK-windows和linux版-百度云下载

    链接: https://pan.baidu.com/s/15vjk4PNzuItd5vHJ6deq3Q 关注以下公众号,回复[9757],获取提取码 linux:jdk-8u221-linux-x64 ...