|
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>
|