第 6 章 在虚拟机上重新运行 cloud-init


当您需要对使用 cloud-init 服务配置的虚拟机(VM)进行额外配置时,您可以重新运行 cloud-init 进程。

警告

如果您重新运行 cloud-init 进程,可能会丢失数据并覆盖凭证,如 SSH 密钥和密码。避免在生产环境中重新运行 cloud-init

要在初始启动后更改虚拟机(VM)设置,请修改 cloud-init 配置并重新运行 cloud-init

先决条件

  • 您已创建了一个 红帽帐户
  • 您已选择以下选项之一:

    • 您已从红帽客户门户网站下载了一个 Red Hat ISO 镜像,并创建了 KVM 客户机镜像,该镜像预安装了 cloud-init,并设置 cloud-init 在虚拟机上自动运行。
    • 您已通过从红帽客户门户网站下载 Red Hat ISO 镜像并在其上安装 cloud-init 来创建自定义镜像。
    • 您已创建了一个自定义的 Red Hat Enterprise Linux (RHEL)镜像,该镜像可使用 RHEL 镜像构建器 为公共云平台做好准备。这些镜像格式预装了 cloud-init :Amazon Machine Image (AMI)、Virtual Hard Drive (VHD) 和 QEMU copy-on-write (QCOW2)。
  • 您已在重新运行 cloud-init 前清理了虚拟机数据目录,以应用新的配置。

流程

  1. 登录到您的虚拟机。
  2. 添加或更改指令,例如修改 /etc/cloud 目录中的 cloud.cfg 文件,或在 /etc/cloud/cloud.cfg.d 目录中添加指令。

    # vi /etc/cloud/cloud.cfg
  3. 运行 cloud-init clean 命令以清理目录,以便 cloud-init 可以再次运行。

    # cloud-init clean
  4. root 用户身份运行以下命令来清理虚拟机数据:

    # rm -Rf /var/lib/cloud/instances/
    # rm -Rf /var/lib/cloud/instance
    # rm -Rf /var/lib/cloud/data/
    注意

    您可以将清理的镜像保存为模板镜像,并将该镜像用于多个虚拟机。新虚拟机将使用更新的配置来运行 cloud-init

  5. 重新运行 cloud-init 或重启虚拟机,以实现您所做的配置更改。有关重新运行 cloud-init 的详情,请参阅 重新运行 cloud-init

验证

  • 验证是否应用了 cloud-init 配置:

    # cloud-init status

    该命令返回 status: done

    注意

    您还可以通过检查 /var/log/cloud-init.log 文件来验证 cloud-init 配置。

Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

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

让开源更具包容性

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

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部