8.10. 选择自定义对等 pod 虚拟机镜像
您可以通过向 pod 清单添加注解来选择自定义对等 pod 虚拟机(VM)镜像,根据您的工作负载要求量身定制。自定义镜像覆盖对等 pod 配置映射中指定的默认镜像。您可以在 libvirt 池中创建新的 libvirt 卷,并将自定义对等 pod 虚拟机镜像上传到新卷。然后,您将 pod 清单更新为使用自定义对等 pod 虚拟机镜像。
先决条件
- 要使用的自定义 pod 虚拟机镜像的 ID,与云供应商或 hypervisor 兼容。
流程
运行以下命令设置 libvirt 池的名称:
$ export LIBVIRT_POOL=<libvirt_pool>1 - 1
- 指定现有的 libvirt 池名称。
运行以下命令,设置新 libvirt 卷的名称:
$ export LIBVIRT_VOL_NAME=<new_libvirt_volume>运行以下命令,为池创建 libvirt 卷:
$ virsh -c qemu:///system \ vol-create-as --pool $LIBVIRT_POOL \ --name $LIBVIRT_VOL_NAME \ --capacity 20G \ --allocation 2G \ --prealloc-metadata \ --format qcow2将自定义对等 pod 虚拟机镜像上传到 libvirt 卷:
$ virsh -c qemu:///system vol-upload \ --vol $LIBVIRT_VOL_NAME <custom_podvm_image.qcow2> \1 --pool $LIBVIRT_POOL --sparse- 1
- 指定自定义 peer pod VM 镜像名称。
根据以下示例创建
pod-manifest.yaml清单文件:apiVersion: v1 kind: Pod metadata: name: pod-manifest annotations: io.katacontainers.config.hypervisor.image: "<new_libvirt_volume>"1 spec: runtimeClassName: kata-remote2 containers: - name: <example_container>3 image: registry.access.redhat.com/ubi9/ubi:9.3 command: ["sleep", "36000"]运行以下命令来创建 pod:
$ oc apply -f pod-manifest.yaml