系列文章(三)丨云管理虚拟化设备

痴心易碎 提交于 2020-08-10 20:59:13

*本文作者系VMware中国研发中心研发总监 路广

在上一篇系列文章(二)《构造与安装虚拟化设备》中介绍了如何构建与安装虚拟化设备,但并没有涉及如何从云里管理大规模的虚拟化设备。本篇介绍的是为实现以上目标的智神星(Pallas)架构(https://flings.vmware.com/pallas)。

**第三篇 云管理虚拟化设备**

智神星(Pallas)架构介绍

Pallas是Asteroid项目继谷神星(Ceres)之后的第二个里程碑,在这个发布里解决了云管理虚拟化设备的基本问题:

 - 上云的网络连接带宽窄、不稳定 
 - 设备规模庞大 
 - 安全限制多,甚至禁止开放任何端口

Pallas架构的主要功能由管理器和代理虚机来实现,其设计要点是:

 - 采用MQTT这样适合窄带、不稳定网络连接的协议 
 - 在云里的管理器采用互联网架构设计思想,多层、微服务、多缓冲、读写分离方式
 - 设备自动注册至管理器,由设备发起所有连接、在云中响应 
 - 关闭设备侧所有端口、可无VPN/SD-WAN、跨公网运行
 - 每个设备都有随机、全局唯一且永久不变的UUID

安装要求

设备上已安装好vSphere Hypervisor,具体方法见上一篇文章《构造与安装虚拟化设备》
代理
- CPU:1个x86-64虚拟核心
- 内存:512MB
- 存储:5GB
管理器
CPU:2个虚拟核心
内存:8GB
存储:100GB
网络:开放443和1883端口,设备可见
注意:为了使代理正常工作,设备至少需要vSphere基本包(Essentials Kit)许可证,或者采用上一篇介绍的方式申请企业版60天试用。


下载与安装

下载Pallas

Pallas的安装包可以到VMware CTO办公室Flings网站(https://flings.vmware.com/pallas)下载,需要提前注册好一个VMware社区账号。下载包含管理器OVA、代理OVA和手册。

注意:Flings网站提供的下载包是不含商业支持的技术预览版,建议在正式安装之前仔细阅读其安装和使用手册。

安装管理器

安装管理器的方式和典型的安装虚机OVA的方式相同,参照Pallas安装手册上的步骤即可顺序完成。

需要说明的是:虽然管理器是以OVA方式封装的,但它并不依赖于特定的虚拟化基础设施或者云平台才能安装。从技术上讲,完全可以将其OVA转换成其他格式,或者在任何支持OVA格式的云平台上安装。

安装代理

为了简化安装代理的过程,建议采用虚机OVA而不是二进制包的方式进行安装。
可以采用OVF Tools来远程安装OVA,或者利用ESXi UI的方式直接安装。
ovftool --acceptAllEulas --name=pallas_agent --datastore=DATASTORENAME -dm=thin --X:injectOvfEnv --powerOn pallas_agent_ubuntu.ova 'vi://USERNAME:PASSWORD@ESXIHOST'

配置与使用

配置

在开始使用之前,配置好代理非常关键。为了确保通信安全性,切记在修改/etc/vmware/pallas_agent/pallas_agent.conf文件之后,需要以下面的方式对该文件加密。

python3 /root/agent/install/encrypte_password.py YOUR-PASSWORD

如果设备上云是通过WiFi、或运营商网络出口,需要另外把相应的PCIe或USB接口的网卡透传给代理虚机。这样代理虚机有出口上云,它就能够注册到管理器了。

使用

在设备注册到管理器之后,就可以像通常的管理工具一样对用户、设备、虚机进行CRUD之类的操作了。

需要注意的是:因为管理器和设备之间元数据的传输协议是基于MQTT,所以设备和虚机等状态的更新是异步完成的。如果不能及时看到任务完成,可能需要稍候、或者刷新状态。

对于像部署虚机、给设备打补丁这样的任务,大型文件是通过HTTPS以断点续传方式下载的。

完成以上所有这些功能,都不需要管理器和设备之间双向IP可见,也不需要建立任何VPN或SD-WAN,设备也可以安全地位于防火墙、NAT和网关的后面。

有了以上这些基础功能的支撑,就很容易进行扩展、从云管理大规模虚拟化设备,并在其上部署像EdgeX Foundry框架的边缘应用了。在2019年12月的EdgeX Foundry China Day上的工作坊,已经展示过通过云管理虚拟化设备来部署基于EdgeX Foundry框架的边缘应用实例。

**- 未完待续 -**

在文章(一)边缘计算的探索与实践和文章(二)构造与安装虚拟化设备中介绍了如何构建并安装虚拟化设备,以及如何从云来管理虚拟化设备。在前言中介绍了除了虚拟化设备之外,另一种方案是容器化设备。
实际上容器化设备的使用非常普遍,常常是以本机编排和云运维的方式实现的。

本机编排意味着无法很好处理设备单点故障,即使EdgeX Foundry最常见的部署方式也是把微服务的核心容器实例部署在一台设备上。
云运维意味着从云侧管理容器化设备,绝大多数厂商都有自己独特的解决方案,这就带来了更严重的技术碎片化问题。


**系列文章(四)预告**
后续的篇章里会讨论这两个问题的解决方案。下一篇文章将介绍解决碎片化问题的云管理容器化设备方案。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!