1.1 Overview

OpenNebula被设计为易于适应任何基础设施,易于扩展新的组件。所以它是一个模块化的系统,可以对接各种云架构系统和数据中心服务器。在本指南中我们回顾一下OpenNebula的主要接口,包括他们的使用,如何查看更详细的文档。 有2类典型的接口:终端用户云、系统接口。

1.1.1 如何阅读

Cloud interface 云接口用于开发面向终端用户的工具,他们提供了高度抽象的函数。用于管理虚拟机、网络、镜像,通过调用REST API。Cloud interface隐藏了复杂性以适用于终端用户。OpenNebula实现了EC2接口,可以管理Amazon的虚拟机。可以调用EC2的查询工具访问OpenNebula云。如果开发门户、工具或者其他终端用户的需求,使用cloud interface.

System interfaces包含了完整的OpenNebula功能,主要用于适应目标设施:

  • XML-RPC接口是OpenNebula的主要接口,包含了OpenNebula的所有功能。通过XML-RPC可以控制、管理OpenNebula的所有资源,包括VMs, Virtual Networks, Images, Users, Hosts 和 Clusters.使用XML-RPC接口可以开发特定的云应用类库或者与核心交互的底层接口.

  • OpenNebula Cloud API提供了一种便捷的交互与OpenNebula的核心XMLRPC API。OCA接口覆盖了XML-RPC相同的功能。OCA绑定了两种语言:Ruby, Java.

  • OpenNebula OneFlow API提供了RESTful风格的服务用于创建、控制和监控虚拟机与部署依赖的关系。

1.1.2 虚拟机兼容性

上述接口兼容KVM, vCenter

1.2 XML-RPC API

所有的xml-rpc响应包含3个值,第1、3两个值是固定的,但是第2个值会包含错误信息如果有错的话。

Note: 所有的方法期待一个与连接用户相关的session 字符串作为第一个参数。字符串的格式在ONE_AUTH中定义,默认是:

Note: 每一个XML-RPC请求都必须进行认证和鉴权(authenticated and authorized)