问题描述
我尝试使用openstack_compute_instance_v2从k3Os映像配置实例。
我的openstack提供程序无需磁盘即可提供风味。
整个block-device-mapping文档对我来说还不是很清楚。
我想做的是从映像启动实例,然后使用cloud-init机制在给定的存储上安装os,重新引导并从此新存储中启动。
到目前为止,我使用这样的代码:
resource "openstack_images_image_v2" "osimage" {
name = "k3os-amd64.iso"
image_source_url = "https://github.com/rancher/k3os/releases/download/v0.19.2-dev.4/k3os-amd64.iso"
container_format = "bare"
disk_format = "raw"
properties = {
os_distro = "k3os"
kernel_args = "k3os.mode=install k3os.debug=true k3os.datasources=openstack"
}
}
resource "openstack_compute_instance_v2" "node" {
for_each = local.nodes
image_id = openstack_images_image_v2.osimage.id
...
block_device {
uuid = openstack_images_image_v2.osimage.id
boot_index = 0
delete_on_termination = true
source_type = "image"
destination_type = "local"
}
block_device {
boot_index = 1
delete_on_termination = true
source_type = "blank"
destination_type = "volume"
volume_size = each.value.volume_size
volume_type = each.value.volume_type
}
}
这导致我出错:
错误消息:{“ forbidden”:{“ message”:“只允许卷支持的服务器使用零磁盘的风味。”,“ code”:403}}
我也尝试对第一个block_device使用boot_index = 1,但根据this code,它必须为0,
否则加注Mapping image to local is not supported
我尝试了许多其他组合,并且只能从openstack_blockstorage_volume_v3引导,并将image_id设置为我的图像。但是,此安装程序始终从该卷启动,并且不允许我在安装后从目标卷启动。
对于任何提示,我将很高兴如何最终将我的block_devices配置为引导映像以进行安装过程,并在重新引导后使用目标存储作为主要的可引导设备。
我还尝试将boot_index=0
设置在空白block_device上,并将boot_index=1
设置为从iso映像创建的卷,因此从理论上讲,虚拟机应检查第一个设备是否不可引导并从第二个卷运行系统(例如在常规PC中),但在“没有可启动设备”上失败。错误。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)