Sat. Aug 15th, 2020

k3OS v0.11 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.11

Features and Enhancements

  • Bump Kernel 5.4.0-37.41-rancher1 #524
    This should fully enable WireGuard! 🎉
  • Bump K3S v1.18.6+k3s1 #550
  • Bump LinuxKit Metadata #467
  • Include lm-sensors #479 (thanks @zimme!)
  • Grub: Installer Menu Entry #507 (thanks @philipsparrow!)
  • Smarter Connman Config #480 (thanks @zimme!)
  • Support Gitlab Keys #481 (thanks @zimme!)
    e.g., to let both @dweomer and @zimme login 😈

    # /var/lib/rancher/k3os/config.d/ssh-authorized-keys.yaml
    - "github:dweomer"
    - "gitlab:zimme"

Bug Fixes

  • Apply k3os.modules During run Phase #472
  • Fix Ubuntu Takeover #496 (thanks @brandond!)
  • Fix Rescue Shell #517 (thanks @gbonnefille!) and #526
  • Mitigate Boot Mode Detection Race #513
    Wait up to 30 seconds before failing. (thanks @stuartpb!)
  • Friendly Boot Mode Failure #519
    Did you forget to set k3os.mode? (thanks @Jille!)
  • Fix Custom TTY in /etc/inittab #504 (thanks @mstarostik!)
  • Fix Mounting from USB during install #527
    Attempt to mount from bare device if mount of /dev/sd[a-z][1-4] fails
  • Fix rpc.statd Sadness create /var/lib/nfs for it #547