目的
ironic是一个进行裸机部署安装的项目。
所谓裸机,就是指没有配置操作系统的计算机。从裸机到应用还需要进行以下操作:
- 硬盘RAID、分区和格式化
- 安装操作系统、驱动程序
- 安装应用程序
ironic实现的功能,就是可以很方便地对指定的一台或多台裸机,执行以上一系列的操作。例如部署大数据群集需要同时部署多台物理机,就可以通过ironic来实现。
ironic可以实现硬件基础设施资源的快速交付。
目前,在OpenStack体系结构中,Ironic还是通过Nova来调用的,模拟Nova的一个虚拟化驱动(其它的虚拟化驱动还有KVM、VMware、Xen等),实现基于Ironic的虚拟化驱动。
预先配置好PXE、IPMI等服务,完成Ironic的相关配置之后,用户就可以使用Nova API来实现一个物理机实例的创建。Nova用于管理虚拟机的生命周期;Ironic则是用于管理物理机的生命周期,它给Nova提供管理物理机的API接口。
对Nova而言,通过Ironic部署物理机,和部署虚拟机的调用流程是一样的,都是通过Nova的接口来执行创建实例,只是底层的nova-scheduler和nova-compute驱动不一样。虚拟机底层驱动采用的是虚拟化技术,而物理机采用的是PXE和IPMI技术。
作为openstack中的一个独立模块,Ironic需要与keystone、nova、neutron、cinder以及swift进行交互,像Nova创建虚拟机一样,需要对应的认证服务、网络服务、块存储服务、对象存储服务等。