From d3ea0f1e0f4a576b71a28983610f0911320a279b Mon Sep 17 00:00:00 2001 From: Claudia Beresford Date: Tue, 17 Jan 2023 15:00:08 +0000 Subject: [PATCH] Update to reflect image changes --- docs/guides/images.md | 60 +++++++++++++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 16 deletions(-) diff --git a/docs/guides/images.md b/docs/guides/images.md index 8689a7a..68f7a76 100644 --- a/docs/guides/images.md +++ b/docs/guides/images.md @@ -6,7 +6,8 @@ The kernel binary and operating system for MicroVMs are supplied via OCI images. They are pulled and mounted by `containerd`. -Liquid Metal supplies images for use with MicroVM clusters. +Liquid Metal supplies images for use with MicroVM clusters, see [Supported Images][#supported-images] +below ## Using images @@ -15,8 +16,9 @@ Liquid Metal supplies images for use with MicroVM clusters. Set the following variables before generating your manifest via `clusterctl`. ```bash -export MVM_KERNEL_IMAGE=docker.io/ORG/REPO:5.10.77 -export MVM_ROOT_IMAGE=docker.io/ORG/REPO:1.21.8 +export MVM_ROOT_IMAGE=REGISTRY/ORG/REPO:1.21.8 +export MVM_KERNEL_IMAGE=REGISTRY/ORG/REPO:5.10.77 +export MVM_KERNEL_MODULES_IMAGE=REGISTRY/ORG/REPO:5.10.77 ``` Or edit the manifest directly for each `MicrovmMachineTemplate`. @@ -34,6 +36,10 @@ spec: kernel: filename: boot/vmlinux # make sure this matches where you left the kernel binary image: KERNEL_IMAGE + volumes: + - id: modules + image: MODULES_IMAGE + mountPoint: /lib/modules/VERSION # ensure this version matches the kernel and modules version rootVolume: id: root image: OS_IMAGE @@ -45,7 +51,7 @@ spec: ### Flintlock If using another flintlock client to create MicroVMs directly, set the -`spec.kernel.image` and `spec.root_volume.source.container_source` +`spec.root_volume.source.container_source`, `spec.kernel.image` and `spec.additional_volumes[0]` options on the `CreateMicroVMRequest` call. @@ -55,18 +61,26 @@ For example if using [`hammertime`][ht], edit the spec like so: ```json { + "root_volume": { + "id": "root", + "is_read_only": false, + "source": { + "container_source": OS_IMAGE + } + }, "kernel": { "image": KERNEL_IMAGE, "filename": "boot/vmlinux", # make sure this matches where you left the kernel binary "add_network_config": true }, - "root_volume": { - "id": "root", + "additional_volumes": [{ + "id": "modules", "is_read_only": false, + "mount_point": "/lib/modules/VERSION", # ensure this version matches the kernel and modules version "source": { - "container_source": OS_IMAGE + "container_source": MODULES_IMAGE } - } + }] } ``` @@ -74,18 +88,30 @@ For example if using [`hammertime`][ht], edit the spec like so: ## Supported images -**Kernel**: -- `ghcr.io/weaveworks-liquidmetal/flintlock-kernel:5.10.77` -- `ghcr.io/weaveworks-liquidmetal/flintlock-kernel:4.19.215` +**Kernel Binary**: +- `ghcr.io/weaveworks-liquidmetal/kernel-bin:5.10.77` +- `ghcr.io/weaveworks-liquidmetal/kernel-bin:4.19.215` -**OS**: +**Kernel Modules**: +- `ghcr.io/weaveworks-liquidmetal/kernel-modules:5.10.77` +- `ghcr.io/weaveworks-liquidmetal/kernel-modules:4.19.215` + +**OS/Root Volume**: _The tags here refer to the version of Kubernetes._ _The base OS is Ubuntu `20.04`._ -- `ghcr.io/weaveworks-liquidmetal/capmvm-kubernetes:1.23.5` -- `ghcr.io/weaveworks-liquidmetal/capmvm-kubernetes:1.22.8` -- `ghcr.io/weaveworks-liquidmetal/capmvm-kubernetes:1.22.3` -- `ghcr.io/weaveworks-liquidmetal/capmvm-kubernetes:1.21.8` +- `ghcr.io/weaveworks-liquidmetal/capmvm-k8s-os:1.23.5` +- `ghcr.io/weaveworks-liquidmetal/capmvm-k8s-os:1.22.8` +- `ghcr.io/weaveworks-liquidmetal/capmvm-k8s-os:1.22.3` +- `ghcr.io/weaveworks-liquidmetal/capmvm-k8s-os:1.21.8` + +:::caution Older CAPMVM / Flintlock Versions +If you are using a CAPMVM <= [v0.7.0][cap7] or Flintlock <= [v0.4.0][fl4] the separate +modules volume is not supported. Supply the following legacy images instead: + +- Kernel: `ghcr.io/weaveworks-liquidmetal/flintlock-kernel:X.X.X` +- Root volume: `ghcr.io/weaveworks-liquidmetal/capmvm-kubernetes:X.X.X` +::: ## Experimental images @@ -116,3 +142,5 @@ Note that `firecracker` only documents support for `5.10` and `4.19` kernels. [image-builder]: https://github.com/weaveworks-liquidmetal/image-builder [ht]: https://github.com/warehouse-13/hammertime +[cap7]: https://github.com/weaveworks-liquidmetal/cluster-api-provider-microvm/releases/tag/v0.7.0 +[fl4]: https://github.com/weaveworks-liquidmetal/flintlock/releases/tag/v0.4.0