CloudKitty
目录
CloudKitty
CloudKitty 是一个“即服务”计费项目的项目名称。
动机
从 Ceilometer 项目一开始,计费和定价就被排除在要实现的目标之外。但由于这些方面对于提供云服务(无论是公共云还是私有云)而言都是内在的,因此需要使用与 OpenStack 项目的其余部分相同技术和相同开源方法来填补这一空白。这就是 CloudKitty 的目标,目前由 Objectif Libre 和 Catalyst IT 开发,但我们真的希望在不久的将来有更多的开发者加入。
该项目在亚特兰大峰会之前启动,并且向少数人(主要是来自 Ceilometer 项目)展示了一个原型,他们都给了我们很好的反馈并对该项目感兴趣。
我们知道计费由通用规则组成,但也包含一些特定规则,大多数计费操作都是业务特定的。我们的方法是模块化的,允许在处理中具有巨大的灵活性。我们将专注于许多通用规则,但允许特定情况由特定模块来管理。
CloudKitty 在 4 个层面上被设计成高度模块化的:
- 输入数据源(收集器)
- 计费策略(计费流水线)
- 输出存储(存储)
- 输出文件格式(写入器,用于生成报告)
CloudKitty 支持多个收集器、多个计费策略和多个输出。
CloudKitty 的概述在巴黎 OpenStack 峰会上进行了演示,以下是视频 https://openstack.org/summit/openstack-paris-summit-2014/session-videos/presentation/sponsor-demo-theater-objective-libre-cloudkitty-open-source-rating-component-for-openstack
如何使用?
CloudKitty 提出以下方式与它交互:
- Horizon
- API
- Python 绑定
- Python 客户端(正在进行中)
如何安装 CloudKitty
请按照 管理指南 中的安装文档进行操作。
如果您想快速测试 CloudKitty,可以使用 devstack。
架构
CloudKitty 被设计为使用其他 OpenStack 组件相同的模块和架构,例如
- oslo.db
- oslo.config
- pecan
- WSME
- stevedore
许可
CloudKitty 采用 Apache 2.0 许可发布。
当前实现
该项目正在积极开发中,但架构的基础已经存在,包括动态模块化架构,允许在运行时启用/禁用模块(从而启用/禁用功能/处理)。
当前收集器
大量精力都集中在集成 Ceilometer 的 OpenStack 指标上,因此标准的 Ceilometer 收集器模块。到目前为止,只有计算、镜像、卷和网络收集器已经实现。
当前 REST API
v1 API 在 开发者文档 上有文档说明。
当前 Horizon 集成
Horizon 集成分为两部分:
- 管理
- 用户
管理视图
使用管理面板,可以激活/停用服务。也可以传递值来配置各种服务。
为了让管理员了解 Horizon 集成,我们发布了一段视频,展示了管理员如何管理资源的定价:https://www.youtube.com/watch?v=KlagCqTUPco
用户视图
它显示“实时”价格(粒度在管理面板中定义)。
为了让用户了解 Horizon 集成,我们发布了一段视频,展示了 CloudKitty 的用户部分:
- 用户将如何看到他们即将启动的资源的预估价格 https://www.youtube.com/watch?v=CmaBXzv28oI
- 用户如何查看他们过去使用情况的总预估价格 https://www.youtube.com/watch?v=v6m1vPl55pg
路线图
某些方面发展非常迅速,以下是我们的路线图内容。
总体架构
由于我们希望扩展该项目,因此在 CloudKitty 的各个部分启用翻译非常重要。
REST API 路线图
这里的路线图侧重于每个新模块的 API 以及存储后端查询 API。
Horizon 集成路线图
这里的路线图侧重于使用 Horizon 配置每个新模块。
文档
我们有一个自动生成的文档(从代码中提取),可在以下网址查看:
https://docs.openstack.org/developer/cloudkitty/
社区
源代码
IRC
#cloudkitty 在 OFTC 上