第 2 章 cloud-init 简介


cloud-init 工具在第一次引导过程中自动初始化和配置虚拟机(VM),也称为实例。您可以配置 cloud-init 来执行如下任务:

  • 配置主机名、网络接口和用户帐户
  • 在实例上安装软件包
  • 运行脚本
  • 修改默认的虚拟机(VM)操作

先决条件

cloud-init 可用于各种类型的 RHEL 镜像,如下所示:

  • KVM qcow2 客户机镜像 预装了 cloud-init。启动实例后,cloud-init 工具会自动启用。您可以使用来自红帽客户门户网站中的 Red Hat Virtualization (RHV)、Red Hat OpenStack Platform (RHOSP)和 Red Hat OpenShift Virtualization 的 KVM 客户机镜像。
  • 如果您从红帽客户门户网站下载 Red Hat ISO 镜像 来创建自定义客户机镜像,您需要在该自定义客户机镜像上安装 cloud-init 软件包。
  • 如果您使用来自认证的云服务提供商(CCSP)(如 AWS、GCP 或 Azure)的镜像,请使用 RHEL 镜像构建器 创建镜像。镜像构建器为特定云提供商管理自定义镜像。cloud-init 中预装了以下镜像格式:

    • Amazon 机器镜像 (AMI)
    • 虚拟硬盘(VHD)
    • QEMU copy-on-write (qcow2)

大多数云平台都支持 cloud-init,但配置过程和支持的选项有所不同。

或者,您可以为 NoCloud 环境配置 cloud-init。通过使用 NoCloud,您可以为本地配置(无需网络访问)和从远程服务器获取的配置管理云实例。另外,您可以通过在一个虚拟机上配置 cloud-init 来创建虚拟机模板。通过使用此模板,您可以创建额外的虚拟机或虚拟机的集群。

2.1. cloud-init 配置的概述

cloud-init 工具使用 YAML 格式的配置文件,来将用户定义的任务应用到实例。当实例引导时,cloud-init 服务启动,并执行 YAML 文件中的指令。这些任务可能会在第一次引导或虚拟机的后续引导中完成,具体取决于配置。

要定义特定的任务,请配置 /etc/cloud/cloud.cfg 文件,并在 /etc/cloud/cloud.cfg.d/ 目录下添加指令。

  • cloud.cfg 文件包含各种系统配置的指令,如用户访问、身份验证和系统信息。此文件还包括 cloud-init 的默认和可选模块。默认模块组如下:

    • cloud_init_modules
    • cloud_config_modules
    • cloud_final_modules
  • 您可以在 cloud.cfg.d 目录中包括 cloud-init 的额外的指令。
  • 在向 cloud.cfg.d 目录中添加指令时,将它们添加到名为 *.cfg 的自定义文件中,并且在文件的顶部包含 #cloud-config

详情请查看 cloud.cfg 文件的示例。请参阅 cloud.cfg 文件的示例

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat