如何基于国产CPU的云平台构建容器管理平台?(上篇)

随着“中兴事件”不断升级,引起了国人对国产自主可控技术的高度关注;本人作为所在单位的运维工程师,也希望能找到一个稳定、能兼容国产CPU的一整套架构方案,来构建IaaS平台和PaaS平台,满足单位对安全自主可控的需求。要基于全国产方式解决公司业务需求至少要在软硬件层面满足,而国内基本都是基于x86解决方案,想找到满足需求的国产化解决方案还是非常困难的事情。但笔者由于一个偶然的机会,接触到了国产的芯片厂商和云计算厂商,并得知他们已经实现了全国产化的云计算平台,笔者也亲自动手体验了安装部署该云计算平台,并在其之上安装部署了容器平台,以下是笔者的分享。

第一节 基于国产CPU的服务器

纵观国内能用于商用国产CPU服务器也没几家真实能用的;有的是基于3B1500国产商用28纳米8核处理最高主频达1.5GHz;通过多方查阅相关资料目前性能无法满足云平台需求,而且还不支持虚拟化。

一个偶然机会参加2018年贵州大数据博览会,参会过程中发现一个有意思的事情,就是在阿里云展台看到国产云平台+国产芯片宣传字样。

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第1张图片

于是上前跟现场的工作人员进行简单的沟通,了解到国产CPU是由华芯通设计开发,这颗芯片内置48颗物理核心,单核心2.6GHz,64Bit、 支持虚拟化!没想到这颗CPU居然支持虚拟化,看来距离我的想法又进一步,起码已经有硬件可以实现了。还了解到目前已经有国产云平台具备商用环境;名字叫ZStack for Alibaba Cloud,据工作人员介绍目前已有业务系统运行在基于华芯通CPU的云平台上,云平台就是ZStack。热心的工作人员带我去华芯通的专柜进行详细参观。
如何基于国产CPU的云平台构建容器管理平台?(上篇)_第2张图片

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第3张图片

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第4张图片

看到实物那一刻,我发现这个跟x86架构的服务器区别并不大,之前一直以为它是一个类似路由器这样的小盒子。没想到ARM服务器工艺已和x86服务器自造工艺无太大差别。

第二节 国产云平台

1、哪些云平台支持国产CPU架构?

ZStack作为国内为数不多的自研云平台,根据官网信息已发布基于国产CPU架构的版本,那么完全可以实现基于国产CPU架构来构建国产云平台。

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第5张图片

ZStack架构:
如何基于国产CPU的云平台构建容器管理平台?(上篇)_第6张图片

这架构图摘自他们的产品白皮书,从架构上看整个逻辑还是比较清晰,各组件依赖度并不高,不会因为管理控制节点故障而影响业务系统。经过仔细研究ZStack架构发现以下特点:

  • 全异步架构:异步消息、异步方法、异步HTTP调用
  • 无状态服务:单次请求不依赖其他请求
  • 无锁架构:一致性哈希算法。
  • 进程内微服务:微服务解耦。

再看看ZStack的功能架构图:

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第7张图片

从图里可以发现,服务之间的交互统一走消息队列,整个拓扑结构不再紧密,实现星状的架构,各服务之间只有消息的交互,服务之间基本独立,添加或者删除某个服务不会影响整个架构(只会失去某些功能)。

回到文章的主题上,了解到以上信息后,我们决定使用华芯通CPU+ZStack国产化云平台来实现容器平台管理方案敲定后,接下来就是走借测流程。

通过之前展会联系的华芯通负责人帮忙,在等了2、3个星期之后,机器寄到了单位。

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第8张图片

上图是他们的工程机,但做工已经非常精细,完全不输给主流大厂的X86服务器。接下来先部署云平台,之前提到的ZStack是国产化云计算平台的先行者,核心引擎也是完全开源的,笔者通过ZStack的官方网站( http://www.zstack.io/product/enterprise/),下载了他们的iso系统,并根据用户手册的图文教程做了烧录,不得不说,整个文档做的非常清晰,很快就完成了准备工作,下面就按照文档进入安装过程。

2、安装云平台

2.1 启动ARM服务器,从U盘启动
通过Console连接看到如下一些信息,这是ARM服务器在进行自检。

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第9张图片

直到出现以下信息:
如何基于国产CPU的云平台构建容器管理平台?(上篇)_第10张图片

按Delete或者ESC建进入BIOS设置。

2.2 ARM服务器BIOS基本设置
2.2.1修改时间

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第11张图片

2.2.2快速选择引导设备
如何基于国产CPU的云平台构建容器管理平台?(上篇)_第12张图片

选择引导设备后按回车键,快速引导。

2.2.3使用基于VNC方式安装ZStack
当选择引导设备后,将进入启动项选择界面,如下图所示:

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第13张图片

选择using VNC模式进行引导启动;
如何基于国产CPU的云平台构建容器管理平台?(上篇)_第14张图片

选择usingVNC模式引导启动,即可实现通过VNC图形模式进行安装;
如何基于国产CPU的云平台构建容器管理平台?(上篇)_第15张图片

表示启动VNC服务,并自动从DHCP工具获取IP地址同时自动分配默认VNC端口5901;当出现这个界面即可使用VNC viewer客户端进行连接。
如何基于国产CPU的云平台构建容器管理平台?(上篇)_第16张图片

2.2.4安装设置
A. 选择安装模式
如何基于国产CPU的云平台构建容器管理平台?(上篇)_第17张图片

目前ZStack For ARM有3种安装模式分别对应为:

  • 企业版管理节点模式
  • 计算节点模式
  • 专家模式

可根据实施规划进行选择部署,选择建议:

  • 如果在实施方案中将管理节点独立,则第一次安装时应选择管理节点模式;
  • 如果用承载云主机,则安装模式为计算节点;

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第18张图片

根据实际情况选择好对应的安装模式,然后点击Done按钮;
B. 配置磁盘分区:

  • 选择磁盘:

这里写图片描述

选择用于安装ZStack的系统盘。

  • 配置分区

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第19张图片

  • 自动分区。

下面就分区模式进行说明:
分区模式有UEFI 模式和Legacy模式两种,应与BIOS设置的引导模式一致。

UEFI 模式
/boot:创建分区 1GB
/boot/efi:创建分区 500MB
swap(交换分区):创建分区 32GB
/(根分区):配置剩下容量

  • 网络设置:

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第20张图片

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第21张图片

选择需要修改的网卡,点击Configure按钮进行配置;
设置密码并开始安装:

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第22张图片

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第23张图片

各模式安装部署步骤都大同小异,官网可以直接下载用户手册。安装完后的Web UI,非常简洁大方,整个安装过程超级简单,以前一直都是使用OpenStack的,而这回使用ZStack 不到30分钟部署成功,1个小时内3个节点全部部署成功,还顺带初始化了环境。
如何基于国产CPU的云平台构建容器管理平台?(上篇)_第24张图片

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第25张图片

安装部署结束后,可以看到还有网络拓扑功能

安装总结:
底层硬件是ARM服务器,云平台底层也是基于ARM64位的系统。安装部署超级方便,管理控制层与业务层完全独立,就是说如果管控节点宕掉,根本就不影响业务系统的正常运行,这一点是OpenStack无法实现的。在测试过程中尝试各种断电关机测试,整个平台运行依然不受影响,稳定性非常高。目前在ZStack For ARM 云平台上轻松跑了16个ARM架构的云主机。

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第26张图片

欢迎大家在ZStack官网最新下载页面(http://www.zstack.io/product_downloads/)进行免费的下载安装和试用。

感兴趣的朋友可以扫描下面的二维码加入ZStack微信公众号(zstack_io),也可以加入ZStack 中国社区QQ群(410185063)参与技术交流与讨论。

如何基于国产CPU的云平台构建容器管理平台?(上篇)_第27张图片

你可能感兴趣的:(如何基于国产CPU的云平台构建容器管理平台?(上篇))