curtin、cloud-init 和临时图像如何工作?

curtin、cloud-init 和临时图像如何工作?

我想了解 dos cloud-init、curtin 和临时映像如何协同工作。我正在尝试写出它们在 MAAS 架构中的作用。

Cloud-init 有两个配置源:

云提供商提供的元数据:此阶段发生在映像安装之前。curtin 会去往此处吗?curtin 中定义的配置会在此阶段进行?

用户提供的配置在机器部署后运行。这里是用户部署机器时可以运行的文件,对吗?

短暂的图像

临时图像,使用 cloud-init 发现节点的硬件(例如,CPU 数量、RAM、磁盘等)并将该信息发送到 MAAS 区域控制器。

因此临时图像也使用 cloud-init。

科廷

Curtin 在操作系统 (OS) 映像安装过程中应用了自定义。系统参数(例如内核类型、磁盘分区、网络配置、交换内存配置等)可以在预置文件中预先配置,该文件将在安装过程中自动配置映像

我想要了解的是这些事件的时间顺序,什么叫什么以及何时叫什么。

以及它们之间有什么区别?

谢谢您的帮助

答案1

  1. 用户通过告诉 MaaS a) 使用哪个裸机(又名目标裸机)b) 想要部署到哪个映像和内核来触发 MaaS 进行部署。
  2. MaaS 控制目标裸机(通常通过 BMC)进行电源重置
  3. 通过 MaaS 提供的 PXE 服务进行目标裸机网络启动
  4. 目标裸机启动到 MaaS 提供的临时映像(通过之前的 PXE 服务)
  5. 当之前的启动过程完成时,系统中的 cloud-init(由目标裸机上的临时映像启动)被触发与 MaaS 对话。
  6. 由于之前cloud-init触发的查询,MaaS为目标裸机提供了更多信息和数据。
  7. cloud-init 根据上一步提供的信息触发 curtin 写入数据。例如,curtin 知道应该将目标映像写入目标裸机的哪个磁盘。
  8. curtin完成将目标镜像写入目标裸机的目标磁盘。
  9. cloud-init获取curtin写任务的返回状态,并将执行状态和日志上报给MaaS。
  10. MaaS 确认了 cloud-init 报告的内容。如果一切正常,cloud-init 将重新启动目标裸机,MaaS 将目标裸机(节点)的状态从“正在部署”更改为“已部署”,因此 MaaS 将禁用此部署节点的 PXE 服务。

相关内容