【发布时间】:2015-09-28 18:09:21
【问题描述】:
我正在学习 Openstack。我对 Openstack API 和 CLI 感到非常困惑!我需要知道两者有什么区别和用法!!
规则 瓦丹
【问题讨论】:
-
查看 CLI 上的 -debug 标志,您可以看到 CLI 进行的 API 调用。
标签: api command-line-interface openstack
我正在学习 Openstack。我对 Openstack API 和 CLI 感到非常困惑!我需要知道两者有什么区别和用法!!
规则 瓦丹
【问题讨论】:
标签: api command-line-interface openstack
API是Application Programming Interface,对于OpenStack服务,它们都是ReST API,这意味着你需要构造http请求然后发布到特定的端点,然后得到http响应并分析它。要直接与之交互,您将需要特殊工具,例如 RestClient、Postman 或 curl。 API 由真正的 CRUD 工作的 OpenStack 进程(有时是 Apache 进程)处理。
OpenStack 提供了一些 Python Binding SDK 供开发者使用,简单的构建和分析步骤。您可以在新开发的 OpenStack 服务中使用这些 SDK,或者编写一些脚本,以便一次又一次地运行它们。例如:
from novaclient import client
nc = client.Client(2, 'username', 'password', 'projectname', 'http://127.0.0.1:5000')
print nc.servers.list()
CLI 是命令行界面,它们的行为类似于普通的 linux 命令,然后使用 SDK 并通过 API 与 OpenStack 服务进行 http 交互。因此,您只需键入简单的“nova list”即可获取所有 nova 实例(需要先导出 OS 环境变量)。 CLI 由 linux shell 处理
【讨论】:
好的 .. 根据我的经验,如果你想要编程一些东西,比如 NFV,API 会更灵活更好,你可以通过 python Restful API 传递它,.. Openstack 中的 CLI,是的,你可以编写很多脚本东西,但它的更多管理命令可以让我们说撤销浮动IP(它可能不适用于GUI)。所以 Openstack CLi 不是一个 Linux 终端,它只是一堆可以控制你的 Openstack 的服务程序(查看 Openstack 文档)。永远记住 APi 用于编程和链接其他接口以访问您的 Openstack,您的 CLi 通常是您的管理区域
【讨论】: