在云计算技术出现之前,通过 PXE + Kickstart 来自动部署已经是运维必备的技术了。
OpenStack Ironic 在此基础上,做了更多的优化,例如在安装系统时,不需要再用到 kickstart 自动应答文件,而是直接通过 iSCSI 挂载磁盘,把事先做好的磁盘镜像克隆过去,免去了系统安装的过程,更加高效省时。
下面终于可以来看看 Ironic 长什么样了。
Ironic 的架构
Ironic 系统就是一个典型的 OpenStack 服务架构,包含了一个 API 组件,和一个处理后台任务的 Conductor 组件,Conductor 通过各种 Driver 完成实际的工作。
它和 OpenStack 的其它核心组件需要完成一系列的交互,获取所需的资源:
从图中我们可以看出,Ironic 和 OpenStack 的核心模块 Nova、Neutron、Glance、Cinder 都有交互。
熟悉 OpenStack 的人看着上面的图应该很眼熟,和创建虚机几乎完全一样,就是把 VM
换成了 Bare Metal
。
最终裸金属的部署流程如图所示:
在 Dashboard 上操作
裸金属服务器在系统中有两种存在方式。
受管理时被称之为 节点(Node),有点类似于计算节点,此时它是属于计算资源。用户新建实例时,裸金属节点和计算节点一起参与调度,区别在于计算节点是在上面创建虚拟机,而裸金属节点一旦被调度就完全占用。
节点只有管理员可以操作。
用户在使用裸金属资源的时候,体验和创建虚机没有两样,部署成功后的裸金属和虚拟机一样都叫 实例(Instance):
在上图中,除了裸金属使用的镜像(Image)和实例类型(Flavor)都和虚机实例有所不同,但是整个的操作流程和使用体验是完全一致的。
小结
今天浮光掠影的介绍了一下 Ironic ,希望可以让大家有个初步的认识。
其中涉及到不少 Linux 运维相关的技术,在尝试 Ironic 之前,有兴趣的人可以参考网络教程动手实践一番,相信会对理解裸金属的部署过程有很大帮助。
感谢您的阅读,请继续关注 「云计算实验室」, \m/ ʕ•͡ᴥ•ʔ \m/
本文使用 mdnice 排版