Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rancher/os2
EXPERIMENTAL: A Rancher and Kubernetes optimized immutable Linux distribution based on openSUSE
https://github.com/rancher/os2
Last synced: 8 days ago
JSON representation
EXPERIMENTAL: A Rancher and Kubernetes optimized immutable Linux distribution based on openSUSE
- Host: GitHub
- URL: https://github.com/rancher/os2
- Owner: rancher
- License: apache-2.0
- Archived: true
- Created: 2021-10-20T16:10:34.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-11-14T10:17:06.000Z (almost 2 years ago)
- Last Synced: 2024-08-02T02:14:11.124Z (3 months ago)
- Language: Go
- Homepage: https://rancher.github.io/os2/
- Size: 17.3 MB
- Stars: 82
- Watchers: 24
- Forks: 15
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-repositories - rancher/os2 - EXPERIMENTAL: A Rancher and Kubernetes optimized immutable Linux distribution based on openSUSE (Go)
README
# EXPERIMENTAL
# Architecture
RancherOS v2 is an immutable Linux distribution built to run Rancher and
it's corresponding Kubernetes distributions [RKE2](https://rke2.io)
and [k3s](https://k3s.io). It is built using the [cOS-toolkit](https://rancher-sandbox.github.io/cos-toolkit-docs/docs/)
and based on openSUSE. Initial node configurations is done using a
cloud-init style approach and all further maintenance is done using
Kubernetes operators.## Use Cases
RancherOS is intended to be ran as the operating system beneath a Rancher Multi-Cluster
Management server or as a node in a Kubernetes cluster managed by Rancher. RancherOS
also allows you to build stand alone Kubernetes clusters that run an embedded
and smaller version of Rancher to manage the local cluster. A key attribute of RancherOS
is that it is managed by Rancher and thus Rancher will exist either locally in the cluster
or centrally with Rancher Multi-Cluster Manager.## OCI Image based
RancherOS v2 is an image based distribution with an A/B style update mechanism. One first runs
on a read-only image A and to do an upgrade pulls a new read only image
B and then reboots the system to run on B. What is unique about
RancherOS v2 is that the runtime images come from OCI Images. Not an
OCI Image containing special artifacts, but an actual Docker runnable
image that is built using standard Docker build processes. RancherOS is
built using normal `docker build` and if you wish to customize the OS
image all you need to do is create a new `Dockerfile`.## rancherd
RancherOS v2 includes no container runtime, Kubernetes distribution,
or Rancher itself. All of these assests are dynamically pulled at runtime. All that
is included in RancherOS is [rancherd](https://github.com/rancher/rancherd) which
is responsible for bootstrapping RKE2/k3s and Rancher from an OCI registry. This means
an update to containerd, k3s, RKE2, or Rancher does not require an OS upgrade
or node reboot.## cloud-init
RancherOS v2 is initially configured using a simple version of `cloud-init`.
It is not expected that one will need to do a lot of customization to RancherOS
as the core OS's sole purpose is to run Rancher and Kubernetes and not serve as
a generic Linux distribution.## RancherOS Operator
RancherOS v2 includes an operator that is responsible for managing OS upgrades
and managing a secure device inventory to assist with zero touch provisioning.## openSUSE Leap
RancherOS v2 is based off of openSUSE Leap. There is no specific dependency on
openSUSE beyond that RancherOS assumes the underlying distribution is
based on systemd. We choose openSUSE for obvious reasons, but beyond
that openSUSE Leap provides a stable layer to build upon that is well
tested and has paths to commercial support, if one chooses.