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:
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.
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 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
- 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
- Built and upgraded from containers – It is a single image OS!
- OTA updates
- Easy to customize
- Cryptographically verified
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.
You can login with the user
cos. That’s a live ISO and no changes will be persisted.
To install run
cos-installer <device> to start the installation process. Remove the ISO and reboot.
cos-installer supports other options as well. Run
cos-installer --help to see a complete help.
To upgrade the system, just run
cos-upgrade and reboot.
cOS during installation sets two
.img images files in the
cOStypically boots from
cOSboots 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.
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>
- vagrant (enabled) ...
So, this was, What’s new in Kubernetes? Also, Check What’s new in Kubernetes 1.21?