EMK - Cluster Images
Estimated time to read: 2 minutes
Cluster (node) images are the operating system images that run on Kubernetes worker nodes. These are installed onto a Compute Instance in our cloud platform with your selected flavor, whereafter they are managed and consumed by EMK.
A Cluster (node) image contains the following:
- Base Operating System: The foundational Linux environment for running containers
- Container Runtime: Software (containerd, podman etc) that executes container workloads
- Kubernetes Components: kubelet, kube-proxy, and other node-level Kubernetes services
The choice of image for your node operating systems can have effect if you need to configure or change things in the Kubernetes Node level, below are the images currently available within Cyso Cloud.
Using multiple images
Images are selected per worker pool, this means that you can run a Kubernetes Cluster consisting of multiple worker pools with different underlaying operating system images in each pool. You can also use worker pools to run different versions of the underlaying operating system image. This is useful for staging environments if the worker node is heavily interacted with in your use-case.
Garden Linux
Garden Linux is a Debian GNU/Linux derivate that aims to provide small, auditable Linux images for most cloud providers (e.g. AWS, Azure, GCP etc.) and bare-metal machines. It is not entirely locked down but immutability of the system is an optional configuration setting. It's built for Gardener with Debian as a base and is thus supported as a Kubernetes node image in all major cloud platforms. It's maintained primarily by the open source community and SAP.
- Notable: Purely systemd components, repeatable and audit-first build process
- Container Runtime: containerd
Flatcar Container Linux
Flatcar Container Linux is designed from the ground up for running container workloads. It fully embraces the container paradigm, including only what is required to run containers. It's system partition is read only and Flatcar automatically updates itself when new security patches comes out. Flatcar is widely adopted and is not Kubernetes specific. It is maintained primarily by the open source community and the CNCF.
Flatcar is a fork of the old CoreOS Container Linux distro, which in turn was built off of Gentoo Linux. It's completely declarative and contains no package management or runtime writes to the operating system.
- Notable: No package manager, completely declarative and immutable
- Container Runtime: containerd