问题描述
Openstack 迁移到容器环境后,无法获取控制台日志。
- 当我运行
openstack console log show SERVER_NAME
时,它什么都不返回。 - 当我访问 Horizon UI 实例详细信息中的控制台选项卡时,它什么也不返回。
我查看了nova-compute容器中的实例日志文件,发现console.log文件是存在的。
openstack 服务的容器化会成为问题吗?
解决方法
我找到了原因,分享解决方案似乎很有价值。
原因
当通过 libvirt/qemu 创建 VM 时,会在 /dev/pts 下创建一个 pty 设备。 获取控制台日志时,Nova 会检查该设备是否存在于该路径中。 但是现在 Nova 计算是容器化的,并且 /dev/pts 没有挂载在上面。
解决方案
使用容器清单中的 volumeMount
将 /dev/pts 挂载到容器。