I am trying to create a VM setup in my Kubernetes cluster using KubeVirt. I have two EC2 instances(Master node: t2.xlarge and worker node: m5.metal) in AWS cloud and I have setup the cluster using KubeAdm. The CNI used is Flannel.
I had setup KubeVirt (https://kubevirt.io/) in my Cluster to provision VMs along with pods in my cluster. KubeVirt is an open-source sandbox project from CNCF. I have setup KubeVirt and it's running fine. I followed the steps in this link to setup KubeVirt: https://kubevirt.io/quickstart_cloud/
After that, I wanted to spin up a VM in my Kubernetes cluster. So, I followed the official documentation from: https://kubevirt.io/labs/kubernetes/lab1.html which creates a VirtualMachineInstance using the image 'quay.io/kubevirt/cirros-container-disk-demo'.
The VM got created and is working fine. I tried to login to the VM using the command virtctl console --kubeconfig=$KUBECONFIG testvm
. And, it seems that I cant use any package managers like apt-get, yum, akp,etc. So I am finding it hart to use as a practical VM.
So, my question is whether we can create container-disk images? Also, I want to run a Python-Django based application in that VM. So, is it possible to create a container-disk image based on Ubuntu and run it as a VirtualMachineInstance in a Kubernetes cluster using KubeVirt? What are the full steps?