1
0
mirror of https://github.com/rancher/os.git synced 2025-08-29 11:34:42 +00:00
Mirror from github
Go to file
2021-10-21 13:49:54 -07:00
.github/workflows Add install docs 2021-10-21 13:49:54 -07:00
chart Rename to rancher/os2 2021-10-20 12:19:44 -07:00
cmd Rename to rancher/os2 2021-10-20 12:19:44 -07:00
docs Add install docs 2021-10-21 13:49:54 -07:00
framework/files Rename to rancher/os2 2021-10-20 12:19:44 -07:00
opensuse/files/etc Include Harvester changes 2021-10-02 22:27:31 -07:00
pkg Fix build 2021-10-20 12:34:03 -07:00
scripts Add install docs 2021-10-21 13:49:54 -07:00
.dockerignore Refactor build 2021-10-02 16:08:48 -07:00
.drone.yml Rename to rancher/os2 2021-10-20 12:19:44 -07:00
.gitignore Refactor build 2021-10-02 16:08:48 -07:00
.golangci.json Refactor build 2021-10-02 16:08:48 -07:00
Dockerfile Rename to rancher/os2 2021-10-20 12:19:44 -07:00
Dockerfile.dapper Rename to rancher/os2 2021-10-20 12:19:44 -07:00
generate.go Add operator 2021-10-20 10:58:54 -07:00
go.mod Rename to rancher/os2 2021-10-20 12:19:44 -07:00
go.sum Add operator 2021-10-20 10:58:54 -07:00
LICENSE Add license 2021-10-20 10:59:55 -07:00
Makefile Add initial docs framework 2021-10-20 16:01:11 -07:00
mkdocs.yml Add install docs 2021-10-21 13:49:54 -07:00
README.md Add WIP header 2021-10-20 16:12:05 -07:00
ros-image-build Rename to rancher/os2 2021-10-20 12:19:44 -07:00

RancherOS v2

WORK IN PROGRESS

RancherOS v2 is an immutable Linux distribution built to run Rancher and it's corresponding Kubernetes distributions RKE2 and k3s. It is built using the cOS-toolkit and based on openSUSE. Initial node configurations is done using only 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.

Architecture

OCI Image based

RancherOS v2 is an A/B style image based distribution. 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 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 assiting with secure device onboarding (SDO).

openSUSE Leap

RancherOS v2 is based off of openSUSE Leap. There is no specific tie in to 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.