如何进行config drive的实践

发布时间:2021-11-19 13:48:10 作者:柒染
来源:亿速云 阅读:119

如何进行config drive的实践,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

如果 instance 无法通过 metadata service 获取 metadata(无 DHCP 或者 nova-api-metadata 服务),instance 还可以通过 config drive 获得 metadata。

config drive 是一个特殊的文件系统,OpenStack 会将 metadata 写到 config drive,并在 instance 启动时挂载给 instance。如过 instance 安装了 cloud-init,config drive 会被自动 mount 并从中读取 metadata,进而完成后续的初始化工作。

接下来我们将实践 config-drive。

配置

config drive 默认是 disable 的,所以首先得启用。有两种方法启用 config drive:

  1. 启动 instance 时指定 --config-drive true

  2. 在计算节点的 /etc/nova/nova.conf 中配置 force_config_drive = true,这样部署到此计算节点的 instance 都会使用 config drive。我们实验中使用的就是这种方法。

config drive 支持两种格式,iso9660 和 vfat,默认是 iso9660,但这会导致 instance 无法在线迁移,必须设置成config_drive_format=vfat 才能在线迁移,这一点需要注意。

配置完成后,重启 nova-compute 服务。

过程分析

部署一个新的 cirros instance c2,我们先到计算节点的 instances 目录下看看 c1 与 c2 的区别。

c2 的目录下会多一个 disk.config 文件,这就是 config drive。通过virsh edit 可以看到 disk.config 已经挂载到 instance 上了。

打开 c2 的控制台,hostname 已经配置好,说明 metadata 拿到了。

为了确保 metadata 不是从 nova-api-metadata 获取,我已经提前关闭了 DHCP 服务,可以看到当前 c2 是没有 IP 的。

lsblk 查看块设备,iso 设备 sr0 就是 config drive。

mount sr0,查看 config drive 的内容。

meta_data.json 中存放了 ssh public key, hostname 等信息。

instance 可以通过 nova-api-metadata 或者 config drive 这两种途径拿到 metadata。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

推荐阅读:
  1. 如何进行ProxmoxVE V6.0 新特性的分析
  2. OpenStack实践(十):Cloud Init+Config Drive定制实例

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:学Python之前要注意什么

下一篇:怎么用Python实现游戏添加跳跃功能

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》