我正在尝试构建一个简单的应用程序,用户可以在其中创建自己的实例 (vms),然后我按计费时间向他们收费(类似于 DO)。我的应用程序使用 OpenStack 作为后端来完成所有繁重的工作。
问题是关于将我的应用程序中的用户与我的 OpenStack 部署关联的最佳方法。
我应该将应用程序中的每个用户映射到 OpenStack 中的用户/项目吗?我应该将应用程序中的所有用户映射到 OpenStack 中的单个项目吗?考虑到需要获取实例的使用信息以向用户收费,最好的方法是什么?
答案1
两个注意事项:
问自己一个问题:
您的用户是否只需要访问他们的虚拟机和您的应用程序?
并且您的应用程序是否会为您的用户发出相关的 API 调用(例如
power off
,,power on
VMreboot
)
那么您的应用程序可能会简单得多,因为您只需要在那里维护角色和访问控制。或者你会允许你的用户自己直接访问 OpenStack API/Horizon 仪表板吗?
因为这样在 OpenStack 级别上对用户进行更多隔离将是必不可少的,而为每个最终用户提供他们自己的项目将是唯一有意义的事情。
并非所有 OpenStack 部署都提供/启用相同的功能,因此请首先探索您可以实现的功能。您可以安装功能吗?您可以使用 ceilometer 吗?或者您需要自己进行资源使用情况跟踪才能启用计费?