-
Epic
-
Resolution: Unresolved
-
Major
-
None
-
None
-
reimpliment-cdisk-kboot-using-image-volume
-
False
-
-
False
-
None
-
In Progress
-
50% To Do, 0% In Progress, 50% Done
KubeVirt allows running virtual machines using a disk provided by an image,
a feature known as "container disk".
For more information, refer to this [link](https://kubevirt.io/user-guide/storage/disks_and_volumes/#containerdisk).
Additionally, KubeVirt supports configuring custom kernel and initrd binaries using
external image.
More details can be found [here](https://kubevirt.io/user-guide/user_workloads/boot_from_external_source/#booting-from-external-source).
At the time these features were developed, Kubernetes did not have a native method to mount OCI images as volumes in pods.
As a result, the current implementation includes some hacky operations and workarounds, such as:- Creating init container to copy the container disk binary.
- Connecting to a socket to determine when virt-handler has finished mounting files to virt-launcher.
- Adding a container to keep the files in the launcher pod.
- Bind-mounting the files from the external images to the compute container’s file system.
- unmounting files when it is no longer needed.
- and more
This enhancement aims to replace the current workaround used for container disks and
kernel boots with Kubernetes native image volume feature.
More details regarding ImageVolume can be found [here](https://kubernetes.io/docs/tasks/configure-pod-container/image-volumes/).
- relates to
-
CNV-48301 Adopt Read Only Volumes Based On OCI Artifacts
-
- New
-