原理:基于config drive方式,将配置的网络信息注入到openstack/content/0000文件中,然后虚机启动后,由cloudinit读取此文件数据,由cloud-init中的基础组件进行虚机网络设置。
openstack的环境配置:
1.设置网络关闭dhcp功能。如果是使用中进行配置关闭,还需要查看网络中是否存在dhcp类型port.将dhcp类型的port删除掉。
2.配置nova.conf文件:
flat_injected = True #使能network信息注入功能
injected_network_template = ******** #配置产生网络metadata数据的模板位置。
默认在nova安装目录下,存在interfaces.template模板;
nova/virt/interfaces.template
实验时,copy上述文件到/etc/nova目录下。设置injected_network_template为:
injected_network_template = /etc/nova/interfaces.template
启动虚机时,nova-compute服务会按照interfaces.template的格式,生成content/0000文件。如:
接下来分析cloudinit是如何生效网络配置的: