navigation

background

C3os

C3OS is a lightweight Kubernetes-focused GNU/Linux derivative built with Elemental-toolkit that optionally supports automatic node discovery, automatic role assignment and optionally VPN out of the box with no kubernetes networking configuration required.

C3OS can also create multi-nodes Kubernetes cluster with k3s that connects autonomously in a hybrid P2P mesh VPN which bridges nodes without any central server, also behind nat, or it can be just used standalone as a k3s server.

C3OS is entirely backed up by community, It’s Free and Open Source, under the Apache 2.0 License. Feel free to open issues or contribute with PRs!

  • No infrastructure is required. C3OS can be used to bootstrap a cluster entirely from the ground-up.
  • LAN, remote networks, multi-region/zones, NAT - No network configuration or opening port outside is required. Nodes will connect each other via holepunching and using hops wherever necessary.
  • Zero kubernetes configuration - Nodes autonomously discover and configure themselves to form a Kubernetes cluster. The same configuration/bootstrapping process applies wether creating new clusters or joining nodes to existing one.
  • Secure P2P Remote recovery to restore failed nodes or lost credentials
  • Hybrid P2P mesh between nodes (optional)

It comes in two variants, based on openSUSE and Alpine.

Configuration and installation is done via Decentralized Device Pairing, cloud-init for manual/automated mass-installs or interactively.

c3OS have:

  • an Immutable layout
  • cloud-init support
  • P2P hybrid layer (optional, which can be disabled)
  • Strong enphasis on automation - the only configuration which is required is to generate a network token (optional)
  • Embedded cluster DNS (optional)

c3OS is composed of:

  • k3s as a Kubernetes distribution
  • edgevpn as fabric for the distributed network, node coordination and bootstrap. Provides also embedded DNS capabilities for the cluster.
  • element-toolkit as a fundament to build the Linux derivative. Indeed, any Elemental docs applies to c3os as well.
  • nohang A sophisticated low memory handler for Linux