云管理虚拟化设备 | 系列文章(3)

题图摄于北京

(转发 VMware 中国研发中心系列文章,本文作者系 VMware 边缘计算实验室主任)

第三篇 云管理虚拟化设备

智神星(Pallas)架构介绍

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

  • 上云的网络连接带宽窄、不稳定

  • 设备规模庞大

  • 安全限制多,甚至禁止开放任何端口

上云的网络连接带宽窄、不稳定

设备规模庞大

安全限制多,甚至禁止开放任何端口

云管理虚拟化设备 | 系列文章(3)

展开全文

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

  • 采用MQTT这样适合窄带、不稳定网络连接的协议

  • 在云里的管理器采用互联网架构设计思想,多层、微服务、多缓冲、读写分离方式

  • 设备自动注册至管理器,由设备发起所有连接、在云中响应

  • 关闭设备侧所有端口、可无VPN/SD-WAN、跨公网运行

  • 每个设备都有随机、全局唯一且永久不变的UUID

采用MQTT这样适合窄带、不稳定网络连接的协议

在云里的管理器采用互联网架构设计思想,多层、微服务、多缓冲、读写分离方式

设备自动注册至管理器,由设备发起所有连接、在云中响应

关闭设备侧所有端口、可无VPN/SD-WAN、跨公网运行

每个设备都有随机、全局唯一且永久不变的UUID

下载与安装下载Pallas

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

安装管理器

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

云管理虚拟化设备 | 系列文章(3)

需要说明的是:虽然管理器是以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之类的操作了。

云管理虚拟化设备 | 系列文章(3)

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

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

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

云管理虚拟化设备 | 系列文章(3)

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

云管理虚拟化设备 | 系列文章(3)

– 未完待续 –

系列文章(四)预告

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

消息一则:

VMware招聘多名云原生开发工程师(北京)