Image Builder vNext #35
Replies: 3 comments 8 replies
-
So if I understand it, with this approach, a VMSpec should have 3 images defined:
Potentially we can provide:
But a user can build and use their own kernel or modules (or both) images.
How does it reduce the number of kernel versions and modules we have to take care of? Or is it mostly for "organizing stuff better"? |
Beta Was this translation helpful? Give feedback.
-
There is no diff here, could you link where it is? |
Beta Was this translation helpful? Give feedback.
-
@richardcase the image created from the capi ubuntu raw build is more than 4G big... feels a bit excessive for an ultralight metal environment 😅 |
Beta Was this translation helpful? Give feedback.
-
Background
Whilst adding support for Cloud Hypervisor it has become apparent that our current approach isn't very scalable or customizable.
We are in a situation where kernel modules for each kernel version we support have to be embedded into our ubuntu base image. Whilst we only support Firecracker this was manageable (just) but now we have Cloud Hypervisor support the number of modules we have to embed has increased dramatically.
This also means we are in a situation where there is a dependency between all our images kernel<-ubuntu base<-capmvm. For anyone to bring their own kernel image this means they need to full understand this dependency chain.....and replicate it.
Also, we are maintaining our own Cluster API base image which is separate from the official community Cluster API images.
Recommended Approach
a. Building the raw capi image from thge k8s image-builder.....
make build-raw-ubuntu-2004
b. Use
fdisk -l
to get the offset of the partition and block sizec. Use the offset to mount the raw image
sudo mount -o offset=2048 ubuntu-2004-kube-v1.20.10 ./mnt
d. Import the mounted file into a new container:
sudo tar -C mnt -c . | docker import - mycapi:v1.20.10
e. Publish image
We could also have a better UX in CAPMVM (or flintlock) where the kernel image name can be defaulted and the modules volume automatically added.
Beta Was this translation helpful? Give feedback.
All reactions