meta-virtualization/recipes-extended/images
Bruce Ashfield b164962a6e images: add container host image
This image is a reference implementation to create a target platform
capable of running containers. This includes kernel configuration,
container runtimes, tools and other support applications.

The packages to install are largely described in the packagegroups
that are part of this layer. packagegroups are preferred as they can
easily be used to create similar images of different composition.
The recipes for the packages have their list of build and runtime
dependencies, as such, those dependencies are not part of the image
install or listed explicitly in the packgroups.

CNCF areas that have choices are described by VIRTUAL-RUNTIME
variables. These variables can be set individually (in a distro,
layer or local configuration file), or can be set by the setting of
a "CONTAINER_PROFILE". It is possible to select incompatible
packages if setting the VIRTUAL-RUNTIME variables individually.
container profiles have been created as valid / tested stacks of the
components in meta-virtualization.

The contents of the image are selected by testing the VIRTUAL-RUNTIME
values and mapping them to packagegroups.

The possible VIRTUAL-RUNTIME variables (and their values) are
currently:

 engines: docker/docker-moby, virtual-containerd, cri-o, podman, lxc
    VIRTUAL-RUNTIME_container_engine ??= "podman"
 runtime: runc, crun, runv, runx
    VIRTUAL-RUNTIME_container_runtime ??= "virtual-runc"
 networking: cni, netavark
    VIRTUAL-RUNTIME_container_networking ??= "cni"
 dns: cni, aardvark-dns
    VIRTUAL-RUNTIME_container_dns ??= "cni"
 orchestration: k8s, k3s
    VIRTUAL-RUNTIME_container_orchestration ??= "k3s"
 Kubernetes terminology "components"
   VIRTUAL-RUNTIME_cri ??= "virtual-containerd"
   VIRTUAL-RUNTIME_cni ??= "cni"

To select a CONTAINER_PROFILE, set the variable in your local,
distro or layer configuration:

  CONTAINER_PROFILE="<your value>"

The possible values for CONTAINER_PROFILE can be found in
conf/distro/include in the format of: meta-virt-container-<profile>.inc

    default (docker)
    containerd
    podman
    docker
    k3s-host
    k3s-node

This image will eventually be modified more as something that
can easily be inherited and re-used, but for now, it is a capture
of the best practices in a container host image.

Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
2024-11-15 19:50:00 +00:00
..
cloud-image-compute.bb Added template cloud-* images 2012-12-07 15:32:31 +01:00
cloud-image-controller.bb meta-virtualization: Drop ROOTFS_PKGMANAGE_BOOTSTRAP 2017-08-03 23:47:21 -04:00
cloud-image-guest.bb meta-virtualization: Drop ROOTFS_PKGMANAGE_BOOTSTRAP 2017-08-03 23:47:21 -04:00
container-base.bb global: overrides syntax conversion 2021-08-02 17:17:53 -04:00
container-image-host.bb images: add container host image 2024-11-15 19:50:00 +00:00
kvm-image-minimal.bb images/kvm: check for kvm distro feature 2023-03-17 12:30:15 -04:00
uxen-guest-image-minimal.bb uxen-guest-tools, image: package the Linux VM tools for uXen hypervisor 2020-02-27 17:00:09 -05:00
xen-guest-image-minimal.bb xen-*image-minimal: Install *xen-acpi-processor package only for x86* machines 2022-03-02 15:47:55 -05:00
xen-image-minimal.bb xen-image-minimal: Add missing dependency causing intermittent failures 2024-08-01 16:02:45 +00:00
xtf-image.bb xtf: chang the old override syntax 2023-05-17 11:46:05 -04:00
xvisor-image-minimal.bb global: overrides syntax conversion 2021-08-02 17:17:53 -04:00