Red Hat Training

A Red Hat training course is available for Red Hat Virtualization

15.7.2. 使用 Cloud-Init Action 启动虚拟机

Cloud-Init 是自动化虚拟机初始设置的工具。您可以使用 工具配置主机名、网络接口、DNS 服务、授权密钥以及设置用户名和密码。您还可以使用 custom_script 标签指定要在启动时在虚拟机上运行的自定义脚本。
注意
cloud-init 元素只能用于启动安装有 cloud-init 软件包的虚拟机。使用 cloud-init 元素时,initialization 元素中的任何元素都会被忽略,但 cloud-init 元素以外的任何元素都会被忽略。

例 15.48. 使用 Cloud-Init 启动虚拟机的操作

本例演示了如何使用 Cloud-Init 工具启动虚拟机,以设置主机名,更改 root 密码,为 eth0 接口设置静态 IP,配置 DNS,并为 root 用户添加 SSH 密钥。
POST /ovirt-engine/api/vms/5114bb3e-a4e6-44b2-b783-b3eea7d84720/start HTTP/1.1
Accept: application/xml
Content-type: application/xml

<action>
    <vm>
       <initialization>
        <cloud_init>
          <host>
           <address>MyHost.MyDomain.com</address>
          </host>
          <users>
           <user>
            <user_name>root</user_name>
            <password>p@55w0rd!</password>
           </user>
          </users>
          <network_configuration>
           <nics>
            <nic>
              <name>eth0</name>
              <boot_protocol>static</boot_protocol>
              <network>
                <ip address="192.168.122.31" netmask="255.255.255.0" gateway="192.168.122.1"/>
              </network>
              <on_boot>true</on_boot>
            </nic>
           </nics>
           <dns>
            <servers>
              <host>
                <address>192.168.122.1</address>
              </host>
            </servers>
            <search_domains>
              <host>
                <address>MyDomain.com</address>
              </host>
            </search_domains>
          </dns>
        </network_configuration>
        <authorized_keys>
         <authorized_key>
           <user>
             <user_name>root</user_name>
           </user>
           <key>ssh-rsa AAAAB3Nza[...]75zkdD root@MyDomain.com</key>
         </authorized_key>
        </authorized_keys>
       </cloud_init>
       <custom_script><![CDATA[your script]]></custom_script>
      </initialization>
  </vm>
</action>