跳转到: 导航, 搜索

CloudKitty

CloudKitty

CloudKitty 是一个“即服务”计费项目的项目名称。

动机

从 Ceilometer 项目一开始,计费和定价就被排除在要实现的目标之外。但由于这些方面对于提供云服务(无论是公共云还是私有云)而言都是内在的,因此需要使用与 OpenStack 项目的其余部分相同技术和相同开源方法来填补这一空白。这就是 CloudKitty 的目标,目前由 Objectif LibreCatalyst 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 的用户部分:

路线图

某些方面发展非常迅速,以下是我们的路线图内容。

总体架构

由于我们希望扩展该项目,因此在 CloudKitty 的各个部分启用翻译非常重要。

REST API 路线图

这里的路线图侧重于每个新模块的 API 以及存储后端查询 API。

Horizon 集成路线图

这里的路线图侧重于使用 Horizon 配置每个新模块。

文档

我们有一个自动生成的文档(从代码中提取),可在以下网址查看:

https://docs.openstack.org/developer/cloudkitty/

社区

源代码

IRC

#cloudkittyOFTC