[TOC]
在云平台中,当你创建云主机时,你希望能够对主机进行一些初始化操作,比如IP配置、主机名、密码、SSH登录等。openstack中可以使用cloud-init进行初始化。
OpenStack虚拟机镜像指南
cloud-init原理(整个执行流程)
cloud-init理解与应用
cloud-init是针对linux的一个工具,当系统启动时,cloud-init可以从novametadata服务获取元数据或配置并完成以下定制工作,包括但不限于:
云官方文档
官方配置参数参考
阿里云官方文档安装cloud-init
前提条件
•准备一台KVM机器,做centos7初始镜像
•已经配置好服务器所连接的Linux云弹性IP。
•登录Linux云服务器。
•Linux云服务器网卡属性为DHCP。
获取动态IP的网卡配置文件
配置ssh文件
在需要无密码登录的机器上运行以下命令创建密钥对(控制器节点(上图)
编辑配置文件/etc/cloud/
以微秒为单位生成随机密码的命令
如果您希望能够修改实例主机名(默认情况下,cloud-init会在每次重启实例后将主机名重置为初始值)删除或注释掉cloud_init_modules列表中的以下两项:
)。(可选配置)在/etc/cloud/cloud中自定义.cfg文件中的网络配置
将此配置添加到文件后,cloud-init将不会管理/etc/sysconfig/下的网络配置
建议提前配置接收dhcp的网卡配置文件,否则私有云中创建的实例可能无法获取IP地址,原因是re-init中自动配置的网卡文件可能会导致mac地址不一致。
(可选配置)设置root用户密码
修改以下配置,使镜像创建的云服务器主机名不带后缀.novalocal,主机名可以为有道理。
a执行以下命令,编辑__init__.py文件
执行以下命令,访问cloudinit/sources文件夹。
执行以下命令,编辑Cloud-Init日志输出路径配置文件,设置日志处理方法handler
检查对应的Cloud工具配置-Init是否成功
运行以下命令,没有出现错误,说明Cloud-Init设置成功
设置完成后,关闭虚拟机,准备下一阶段生成镜像
如果连接到ceph存储。可以将qcow2格式转换为raw格式镜像然后加载
Ceph的缺点是不支持从qcow2格式镜像启动,所以必须转换raw格式镜像
将镜像上传到openstack视图节点(在controller节点上)
查看镜像并在ceph中查看批量数据
创建实例并检查cloud-init配置是否正确成功
虚拟机镜像必须确保安装了cloud-init
OpenStack提供了命令行参数--config-drive来配置创建虚拟机时是否使用配置
在/etc/nova/nova中,让OpenStack计算服务在创建虚拟机时使用默认配置机制
注意
。上一篇:虚拟机怎么做服务器
下一篇:虚拟机web服务器配置