Container optimized OSes
- Top Minimal Container Operating Systems for Kubernetes
- A Guide to Linux Operating Systems for Kubernetes
- https://www.reddit.com/r/devops/comments/iz4zf9/is_there_an_open_source_container_optimized_os/
Talos
- Talos The Kubernetes Operating System
- No SSH, no console, only API
- No auto-upgrade
- terraform-libvirtd-talos
- Most popular k8s distribution besides k3s in the k8s-at-home community
Flatcar
- Flatcar website
- Kinvolk, the company behind Flatcar got acquired by Microsoft
- Flatcar Container Linux is a drop-in replacement for CoreOS Container Linux
- Running Flatcar Container Linux on libvirt
- Terraform
Features:
- minimal amount of tools to run container workloads: Docker, Kubernetes
- Open feature request: Flatcar Podman extension
- Automated atomic updates
- Immutable filesystem
- OS image is immutable (/usr is a read-only partition and there’s no package manager to install packages)
- Flatcar uses the USR-A and USR-B update mechanism, first introduced by ChromeOS
Photon OS
- Website
- By vmware
- No qcow2 images
Fedora CoreOS (FCOS)
Fedora CoreOS is the official successor to CoreOS Container Linux
Features:
- automatically-updating
Installation
FCOS reads and applies the configuration file with Ignition.
- What is ignition ? https://github.com/coreos/ignition
Install with libvirt
https://docs.fedoraproject.org/en-US/fedora-coreos/getting-started/#_launching_with_qemu_or_libvirt
Ignition file
https://docs.fedoraproject.org/en-US/fedora-coreos/producing-ign/
docker pull quay.io/coreos/fcct:release
docker run -i --rm quay.io/coreos/fcct:release --pretty --strict < varac.fcc > varac.ign
Install
cd ~/kubernetes/os/coreos
wget https://builds.coreos.fedoraproject.org/prod/streams/stable/builds/31.20200210.3.0/x86_64/fedora-coreos-31.20200210.3.0-qemu.x86_64.qcow2.xz
unxz fedora-coreos-31.20200210.3.0-qemu.x86_64.qcow2.xz
./install.sh
Run
Questions:
- sudo ?
Running procs after boot
- systemd
- init
- systemd-journal
- systemd-logind
- NetworkManager
- chronyd
- sssd (System Security Services Daemon)
- sssd_be
- sssd_nss
- dbus-broker-launch / dbus-broker
- sshd
- zincati (OS update daemon)
- polkitd
- dhclient
- agetty
Kairos
BalenaOS
Out of scope
- Google Container-Optimized OS
- AWS Bottlerocket Open Source OS for Container Hosting from Amazon
Deprecated / outdates OSes
Flow Linux
- Floe Linux Floe is a lightweight Linux distribution made specifically to run Linux containers. It uses Tiny Core Linux, runs completely from RAM and is a ~25 MB download*.
Kutter OS
- Kutter OS The aim is to make a minimal OS for running Kubernetes.
boot2podman
HypriotOS
- HypriotOS: make container technology a first class citizen on ARM and IoT devices
k3os
CoreOS Container Linux
from https://coreos.com/os/eol/:
End-of-life announcement for CoreOS Container Linux On May 26, 2020, CoreOS Container Linux will reach its end of life and will no longer receive updates. We strongly recommend that users begin migrating their workloads to another operating system as soon as possible.
https://coreos.com/os/docs/latest/
From https://en.wikipedia.org/wiki/Container_Linux:
Container Linux (formerly CoreOS Linux) is an open-source lightweight operating system based on the Linux kernel and designed for providing infrastructure to clustered deployments, while focusing on automation, ease of application deployment, security, reliability and scalability
Rancher OS
Note that RancherOS 1.x is currently in a maintain-only-as-essential mode, and it is no longer being actively maintained at a code level other than addressing critical or security fixes.
Unrelated
- kured: Kubernetes Reboot Daemon