Posts for: #k0s

README Highlight Issue #43, 2023: k0s

In this week’s issue of README Highlight (#43, 2023), we are taking a look at the following project: k0s.

k0s is an all-inclusive Kubernetes distribution developed by Team Lens. It is designed to be a zero-friction solution for building Kubernetes clusters, packaged as a single binary for ease of use. It can be deployed in various environments, including cloud, IoT gateways, edge, and bare metal deployments, thanks to its simple design, flexible deployment options, and modest system requirements.

Key features of k0s include different installation methods (single-node, multi-node, airgap, and Docker), automatic lifecycle management with k0sctl for upgrades and backup/restore, modest system requirements (1 vCPU, 1 GB RAM), vanilla upstream Kubernetes with no changes, and support for custom Container Network Interface (CNI) and Container Runtime Interface (CRI) plugins. It also supports all Kubernetes storage options with Container Storage Interface (CSI) and a variety of datastore backends.

To get started with k0s, users can refer to the Quick Start Guide for creating a full Kubernetes cluster with a single node, use k0sctl for deploying and upgrading multi-node clusters, watch a NanoDemo recording for a visual demonstration, or run k0s in Docker containers. The project also provides comprehensive documentation and resources for further exploration.

The k0s project is open to community participation and welcomes contributions. Users can join the Lens Forums or submit issues and feature requests via GitHub. The project is continuously improving and has reached a production-ready state, with regular releases and stability improvements.

In terms of scope, k0s aims to provide a versatile base for running Kubernetes in various setups, minimizing the inclusion of “add-ons” and focusing on a robust and flexible core. The project believes in keeping fewer opinions and reducing the maintenance burden of external addons.

Building k0s from source is facilitated by GNU Make and Docker, with all compilation steps performed inside Docker containers. The project offers two different build options: a self-contained build with all binaries compiled from source and embedded, and a package maintainer build without any embedded binaries. Smoke tests are also available to ensure the functionality of the built binaries.

In conclusion, k0s offers a zero-friction Kubernetes distribution with a focus on simplicity, flexibility, and performance. It provides a comprehensive set of features, easy installation and management, and compatibility with various deployment environments. With its active development and community involvement, k0s aims to be a modern and reliable choice for Kubernetes deployments.

K0s Releases Version v1.28.2+k0s.0

k0s has released version v1.28.2+k0s.0. This all-inclusive Kubernetes distribution is designed for building Kubernetes clusters and comes packaged as a single binary for easy use. It can be used in various environments, including cloud, IoT gateways, Edge, and Bare metal deployments, thanks to its simple design, flexible deployment options, and modest system requirements.

The latest release, 1.28.2, includes several updates and improvements. Some of the highlights include:

  • Kubernetes 1.28.2: The release builds with Kubernetes 1.28.2, and all the Kubernetes components are updated to the same version.
  • Enhanced autopilot: The autopilot now allows the cluster to follow a specific update channel on an update server, making it easier to stay up-to-date with patch updates.
  • SBOM generation: The release now generates a full signed SBOM (Software Bill of Materials) for each release, providing greater transparency and security.
  • Extended OS testing matrix: The OS testing matrix now covers 22 OS and version combinations, including Alpine, CentOS, Debian, Fedora, Fedora CoreOS, Flatcar, Oracle, RHEL, Rocky, and Ubuntu.
  • Updated component versions: Various components have been updated, including ContainerD, RunC, Etcd, Kine, Konnectivity, Kube-router, Calico, and CoreDNS.

For a detailed list of changes, you can refer to the release notes. This release also includes contributions from new contributors who made their first contribution to the project.

Overall, this release of k0s brings important updates and improvements, making it a reliable choice for building Kubernetes clusters in various environments.

K0s Releases Version v1.27.6+k0s.0

k0s, an all-inclusive Kubernetes distribution, has just released version v1.27.6+k0s.0. This distribution is designed to make building a Kubernetes cluster easier by providing all the necessary features in a single binary. One of the key advantages of k0s is its versatility. While it is well-suited for cloud environments, it can also be used in IoT gateways, edge deployments, and bare metal setups. This is due to its simple design, flexible deployment options, and modest system requirements.

In this latest release, several changes and improvements have been made. These include fixing a hanging start-stop-daemon in footloose Alpine, updating dependencies such as filepath-securejoin and Go, modifying kubelet arguments passed in the CLI inttest, and upgrading containerd to version 1.7.6. Additionally, Kubernetes itself has been bumped to version 1.27.6.

For more details on the changes, you can check out the full changelog.