Fuel 浅谈



wKiom1UmDvjT4RUsAAG8jaahJe0676.jpg


fuel不是单一的,它包含多个彼此独立的组件,这些组件中的某些是fuel的内置组件,而其他的是第三方组件,如cobbler,

puppet,mcollective等。个别的一些组件可以直接使用不需要做任何修改,一些需要做少量调整。

UI:是单一的页面应用程序,用js写的。它底层使用引导程序+骨干框架的形式工作。此视频演示fuel4.0上UI的基本功能。

Nailgun:是fuel的核心组件。它作为另外的openstack项目,用python所写。它通过REST API 去配置(部署)数据管理。它管理磁盘卷配置数据,网络配置数据和

其他的特殊环境的必要数据去完成openstack的成功部署。它通过正确的顺序,为openstack各组件,节点的准备和部署提供必要的逻辑上的统一编排。nailgun通过各工作进程的交互,用sql数据库存储它的数据和AMQP服务。fuel cli提供更多的功能比ui。

Astute:是另外一个重要组件,以nailgun的worker进程工作,它的作用是根据nailgun提供的指令运行相应的动作。

事实上,astute不做别的事,它只是提供一个层,去封装各种服务交互的所有细节,如cobbler,puppet,shell scripts等服务。

并且为各种服务提供一个通用的异步的接口。我们可以直接通过它原生的协议(如cobbler所用的xml-rpc协议)

或者让mcollective agent端执行特定的任务(如发送"puppet apply"到远程节点或执行脚本)来管理服务。nailgun通过AMQP和astute交换数据。

Cobbler:is used as provisioning service at the moment. There is a POC ready for move to Ironic, and production version is being implemented.

Puppet:是部署服务。它适当的创建MCollective agent去管理其他的框架如Chef,SaltStack等。

Mcollective agents:可以让我们执行特定的任务如磁盘驱动器清理,网络连通性的检查。

OSTF: (OpenStack Testing Framework, or Health Check) 它是分开的一个组件,能够容易的单独的移除或加载。它负责openstack

后期部署的验证(检查)。它主要的目标是保证了最大的功能用最少的时间来完成。


你可能感兴趣的:(Fuel 浅谈)