Cloudpods 是一个开源的 Golang 实现的云原生的多云和混合云融合平台。
Cloudpods 不仅可以管理本地的虚拟机和物理机资源,还可以管理其他公有云和私有云平台的资源。
GitHub: https://github.com/yunionio/cloudpods,欢迎大家使用+star
本文主要介绍云联壹云平台如何适配 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 和技术细节的超详细介绍,篇幅所限,了解全文请看: https://mp.weixin.qq.com/s/v-kxWac16wsfmuUAhhNExQ