Upcoming project from the makers of k3s and Rancher

Upcoming project from the makers of k3s and Rancher

Rancher is always evolving and bringing more Projects like k3s. With each new iteration, new features and improvements arrive to make Container management easier and more flexible. With the release of the latest Project of Rancher.


cOS-toolkit
by Rancher-Sandbox is about to be released, and it comes packed with novelties! Where do we begin?

In this Article, You Will find Everything Important:
rancher

What is a Rancher?

Rancher is an open-source platform for managing containers that provides a full set of infrastructure services for containers, including networking, storage services, host management, and load balancing, work across any infrastructure, and making it simple to reliably deploy manage applications.

According to the official site

Why choose Rancher?

The best part of Rancher is related to set up the environment of Kubernetes because Kubernetes doesn’t have a simple setup, the great process to add/join workers nodes to the clusters, with simple steps we can join/add more hosts and remove too. without losing work. The support engine is great with a lot of features, supports repository GitHub and GitLab.

The Rancher dashboard is easy to use so your operations team can help manage and monitor pods and clusters. The Rancher improve the knowledge and keeps simple working with kubernetes and manage all kind of pods, services, etc.. Have a great overview of all environment and health checks.

k3s

What is a K3s?

K3s is a highly available, certified Kubernetes distribution designed for production workloads in unattended, resource-constrained, remote locations or inside IoT appliances. K3s is packaged as a single <40MB binary that reduces the dependencies and steps needed to install, run and auto-update a production Kubernetes cluster.

According to the official site

Why choose K3s?

K3s is a fully compliant Kubernetes distribution with the following enhancements:

  • Packaged as a single binary.
  • Lightweight storage backend based on sqlite3 as the default storage mechanism. etcd3, MySQL, Postgres also still available.
  • Wrapped in simple launcher that handles a lot of the complexity of TLS and options.
  • Secure by default with reasonable defaults for lightweight environments.
  • Simple but powerful “batteries-included” features have been added, such as a local storage provider, a service load balancer, a Helm controller, and the Traefik ingress controller.
  • The operation of all Kubernetes control plane components is encapsulated in a single binary and process. This allows K3s to automate and manage complex cluster operations like distributing certificates.

ContainerOS toolkit (cOS-toolkit)

containerOS (cOS) is a toolkit to build, ship, and maintain cloud-init driven Linux derivatives based on container images. It is designed to reduce the maintenance surface, with a flexible approach to provide upgrades from container registries. It is cloud-init driven and also designed to be adaptive-first, allowing easily to build changes on top.

According to the official site

cOS is built from containers and completely hosted on image registries.

The build process results in a single container image used to deliver regular upgrades in the OTA approach.

cOS supports different release channels, all the final and cache images used are tagged and pushed regularly to DockerHub and can be pulled for inspection from the registry as well.

Those are exactly the same images used during upgrades, and used to build Linux derivatives from cOS.

For example, if you want to see locally what’s in cOS 0.4.30, you can:

$ docker run -ti --rm raccos/releases-opensuse:cos-system-0.4.30 /bin/bash

cOS Images are signed, and during upgrades Docker Content Trust is enabled.

You can inspect the images signatures for each version:

$ docker trust inspect raccos/releases-opensuse:cos-system-0.4.32

Design goals

  • A Manifest for the container-based OS. It contains just the common bits to make a container image bootable and to be upgraded from, with few customization on top
  • Immutable-first, but with a flexible layout
  • Cloud-init driven
  • Based on systemd
  • OTA updates
  • Easy to customize
  • Cryptographically verified

Quick start

cOS releases consist on container images that can be used to build derived against. cOS is a manifest which assembles an OS from containers, so if you want to make substantial changes to the layout you can also fork directly cOS.

The cOS CI generates ISO and image artifacts used for testing, so you can also try out cOS by downloading the ISO from the Github Actions page, to the commit you are interested in.

Build cOS Locally

$> source .envrc 
$> cos-build

The only requirement is docker installed, See Development notes for more details.

Login

You can login with the user root and cos. That’s a live ISO and no changes will be persisted.

Install

To install run cos-installer <device> to start the installation process. Remove the ISO and reboot.

Notecos-installer supports other options as well. Run cos-installer --help to see a complete help.

Upgrades

To upgrade the system, just run cos-upgrade and reboot.

cOS during installation sets two .img images files in the COS_STATE partition:

  • /cOS/active.img labeled COS_ACTIVE: Where cOS typically boots from
  • /cOS/passive.img labeled COS_PASSIVE: Where cOS boots for fallback

Those are used by the upgrade mechanism to prepare and install a pristine cOS each time an upgrade is attempted.

To specify a single docker image to upgrade to instead of the regular upgrade channels, run cos-upgrade --docker-image image.

Note by default cos-upgrade --docker-image checks images to the notary registry server for valid signatures for the images tag. To disable image verification, run cos-upgrade --no-verify --docker-image.

cOS runtime features

cOS ships default cloud-init configurations files that are available under /system/features for example purposes, and to quickly enable testing features.

Features can be enabled/disabled with cos-feature. For example, after install, to enable k3s it’s sufficient to type cos-feature enable k3s and reboot.

See cos-feature list for the available features.

$> cos-feature list 
==================== 
cOS features list 
To enable, run: cos-feature enable <feature> 
To disable, run: cos-feature disable <feature>
 ==================== 
- carrier 
- harvester 
- k3s 
- vagrant (enabled) ...

So, this was, What’s new in Kubernetes? Also, Check What’s new in Kubernetes 1.21?

If you need help with your Website Development or Digital Marketing, discover our Services.

Amit Chaudhary

SRE at Calibo. Helping OpenSource Community. Co-founder hyCorve limited. Certified Checkbox Unchecker. Connecting bare metal to cloud.

All author posts
Write a comment