安装与启动

配置准备

Ironic需要与Nova、Neutron、Glance、Keystone、Cinder等进行交互,于是先要对这些进行配置

  1. 配置Keystone。 创建用户、服务、endpoint
  2. 配置数据库
  3. 安装ironic组件

服务概述

Bare Metal service由一系列组件组成,这些组件能够管理和提供物理物理机。

Ironic项目根据配置与其他服务进行交互,包括:

  • 监控模块(ceilometer),用于消费IPMI指标
  • 认证模块(keystone)

Ironic服务由以下组件构成。

  • Ironic API,一个RESTful API服务,管理员和其他服务通过API与Ironic进行交互;
  • Ironic Conductor, 完成Ironic服务的绝大部分工作,通过API对外开放其功能,与API通过RPC进行交互;
  • Dirvers,通过一系列的驱动来支持不同的硬件;
  • 消息队列
  • Database,用来存储资源信息。

project架构

- ironic: 包含ironic-api 和ironic-conductor进程
- python-ironicclinet: python clinet and CLI
- ironic-python-agent: 用于加载厂商的驱动,嵌入deployment ramdisk中
- pyghmi: 一个python的IPMI库,是一个可供选择的IPMItool
- ironic-inspector: 硬件自检工具
- bifrost:单独部署Ironic的Ansible脚本
- ironic-lib: 通用库函数
- ironic-webclinet :web客户端
- ironic-ui: ironic的horizon插件

部署架构 云平台管理员可以使用RESTful API注册硬件,制定硬件的属性,比如MAC地址、IPMI证书。可以开启多个API服务实例。

由于Ironic Conductor是唯一一个需要访问数据层和IPMI控制层的服务,为了安全起见,最好将conductor service 放在一个独立的主机上。 为了支持各类驱动和管理故障迁移,可以有多个conductor实例存在,每个conductor实例可以运行多个drivers,conductor实例应该放在单独的节点上。

ironic部署架构

results matching ""

    No results matching ""