9.2. 在所有实例中添加配置驱动器
作为管理员,您可以将计算服务配置为始终为实例创建配置驱动器,并使用特定于部署的元数据填充配置驱动器。例如,您可以使用配置驱动器的原因:
- 要在部署不使用 DHCP 为实例分配 IP 地址时传递网络配置。您可以通过配置驱动器传递实例的 IP 地址配置,实例可以在为实例配置网络设置前挂载和访问。
- 要将数据传递给对启动实例的用户不知道的实例,例如,用于通过 Active Directory 后注册实例的加密令牌。
- 要创建本地缓存的磁盘读取,以管理实例请求的负载,这可以减少对元数据服务器定期访问元数据服务器的影响,以检查和构建事实。
任何能够挂载 ISO 9660 或 VFAT 文件系统的实例操作系统都可以使用配置驱动器。
流程
- 打开您的计算环境文件。
要在启动实例时始终附加配置驱动器,请将以下参数设置为
True
:parameter_defaults: ComputeExtraConfig: nova::compute::force_config_drive: 'true'
可选: 要将配置驱动器的格式从
iso9660
的默认值改为vfat
,请在您的配置中添加config_drive_format
参数:parameter_defaults: ComputeExtraConfig: nova::compute::force_config_drive: 'true' nova::compute::config_drive_format: vfat
- 保存对 Compute 环境文件的更新。
使用其他环境文件将计算环境文件添加到堆栈中,并部署 overcloud:
(undercloud)$ openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/<compute_environment_file>.yaml \
验证
创建一个实例:
(overcloud)$ openstack server create --flavor m1.tiny \ --image cirros test-config-drive-instance
- 登录该实例。
挂载配置驱动器:
如果实例操作系统使用
udev
:# mkdir -p /mnt/config # mount /dev/disk/by-label/config-2 /mnt/config
如果实例操作系统没有使用
udev
,则首先需要识别与配置驱动器对应的块设备:# blkid -t LABEL="config-2" -odevice /dev/vdb # mkdir -p /mnt/config # mount /dev/vdb /mnt/config
-
根据您的元数据,检查挂载的配置驱动器目录中
mnt/config/openstack/{version}/
中的文件。