Mon. Feb 17th, 2020

k3OS v0.9.0 releases: the first Kubernetes operating system

2 min read

Rancher Labs introduced k3OS, the industry’s first extremely lightweight operating system for Kubernetes. It has extremely low resource consumption, minimal operation, and second-level boot, which greatly simplifies in low-resource computing environments. Kubernetes operation, improve the security of Kubernetes operation and maintenance and fully enable edge computing scenarios.

k3OS is a linux distribution designed to remove as much as possible OS maintaince in a Kubernetes cluster. It is specifically designed to only have what is need to run k3s. Additionally the OS is designed to be managed by kubectl once a cluster is bootstrapped. Nodes only need to join a cluster and then all aspects of the OS can be managed from Kubernetes. Both k3OS and k3s upgrades are handled by k3OS.

k3OS can be used for public clouds and virtualized clusters, but in addition, it is of great value in environments where computing resources represented by edge computing are extremely limited. The main features include:

  • supports multiple architectures: k3OS runs on x86 and ARM processors to give you maximum flexibility.
  • runs only the minimum required services: Fewer services means a tiny attack surface, for greater security.
  • doesn’t require a package manager: The required services are built into the distribution image.
  • models infrastructure as code: This makes sure there are no surprises, and that systems come up the same way every time. You can manage system configuration with version control systems, and carry out reliable, repeatable cluster deployments.

Changelog v0.9.0

Documentation Tweaks

  • Emphasize that k3os.dns_nameservers and k3os.ntp_servers are fallback values. #347
  • Add hetzner to supported data-sources. #355
    Also, adjust the data-sources documentation to indicate that datasources are tried in order until one returns some actual data, then processing stops.
  • Note in the “Remastering ISO” section that some installations of grub2 grub-mkrescue drop files in ${ISO}/boot/grub2 #364
  • Better Documentation for k3os.k3s_args in the README #373

Features and Enhancements

Bug Fixes

  • honor k3os.install.power_off when k3os.mode=install #143
  • reboot on takeover install #228
  • set reasonable system-wide limits and sysctls since we’re running containers here #343
    Additionally, do linuxkit-style early hostname setting (as before v0.8.0)
  • fix missing /etc/ssl/cert.pem expected by some busybox tooling (namely wget) #346


  • deprecate k3os-upgrade-* scripts in favor of upgrade controller #369
    These are stillon system but they have been moved to /usr/share/rancher/k3os/scripts