本文主要介绍云联壹云平台如何适配ARM,并运行在ARM CPU架构的机器上。
背景介绍
1、平台服务运行架构
云联壹云平台采用容器化,分布式的架构运行在 Kubernetes(K8s)之上。下面是平台服务运行的架构图:

在多个节点之上,我们会构建Kubernetes的集群 ,它是一个容器管理的平台。
在Kubernetes的平台之上,后端服务都是容器化的,是以容器的方式去分布式运行。
通过K8s去做调度的管理,然后将服务自动地打散到多个节点上运行,总结两点是服务容器化,并依靠K8s来提供容器分布式运行的环境。
另外,底层的节点是有类型的,控制层面的服务运行在控制节点,平台内置了一个私有云,提供了完整的私有云功能。
若要使用私用云这个功能,则还需要一些计算节点,计算节点上会跑虚拟化相关的软件,提供私有云虚拟化的功能,总结来说就是计算节点运行私有云的虚拟机。
2、CPU架构简介
大家熟悉的服务器或者台式机都是X86架构的CPU,X86架构的CPU特点是性能高,并且软件的兼容性很好。
大家平常工作中使用的大部分是英特尔等提供的X86架构的CPU,对于英特尔和AMD大家都不陌生,这两家厂商专门生产X86架构CPU。
另外X86 64位这种架构的CPU存在别名,例如x86_64或者amd64都代表X86架构的64位CPU。

与X86不同的是还有另一种称为ARM的架构,这是本文的主题,那么ARM架构的CPU和X86架构的CPU相比有何不同?
它的制造成本更低,ARM架构的芯片的功耗也很低,代表性的厂商和使用者是苹果和华为。
苹果将生产的ARM芯片用到笔记本或IMAC上,ARM架构的CPU越来越普及。
国内的华为会生产基于ARM架构的服务器,64位ARM架构CPU也有别名,例如arm64、aarch64,这两种叫法表达同一个意思。
3、为什么适配ARM
因为ARM的CPU普及是大环境下的发展趋势,例如在国际上,苹果将ARM架构的CPU投入到笔记本和台式机上,在国产化方面,国内有鲲鹏和飞腾CPU,国产的基于ARM架构的服务器,现在市场上主流的是鲲鹏和飞腾。 在国产化上,使用ARM架构也是一个趋势。
另外是适配了ARM架构能够提升产品的竞争力,竞争力体现在能够支持管理基于ARM64位和X86_64架构的虚拟化混合部署。

这种混合部署的意思是可以同时把服务运行在ARM和X86的服务器上,同时运行各自的虚拟化,可以通过我们平台统一部署和管理。
如何适配ARM64?

1、需要解决的关键问题
第一个方面是怎样把服务运行在64位的ARM架构上?
还有一方面是因为我们内置了一个私有云,上层的私有云业务如何支持64位的ARM架构?
通过架构图可以了解到服务是容器化运行在K8s之上的,再由K8s帮我们将服务分布式地运行在各个节点上,所以第一步是要部署异构CPU架构的K8s集群,异构CPU架构的意思是K8s集群要运行在X86和ARM架构的机器上。
具体而言就是要选择一个支持ARM架构的Linux的发行版。
K8s节点上的操作系统是Linux,首先要选择支持ARM架构的Linux操作系统,操作系统同时能够安装K8s必要的软

最低0.47元/天 解锁文章
1017

被折叠的 条评论
为什么被折叠?



