Rancher Elemental

Cloud Native OS Management

Met Rancher Elemental kunnen K8s clusters aangemaakt worden en deze worden dan gekoppeld als Downstream Cluster in Rancher. Hierdoor zijn deze downstream clusters te beheren vanuit de Rancher Manager, niet alleen voor Kubernetes workloads, maar ook voor het OS!

Het hele proces van het OS en Kubernetes installeren en het koppelen aan Rancher wordt door Rancher Elemental verzorgt. Om dit zo goed mogelijk te laten verlopen wordt via Rancher Elemental een ISO file aangemaakt die gebruikt wordt om de downstream (edge) nodes te installeren oftewel: Cloud Native OS Management!

Elemental

Rancher Elemental kan toegevoegd worden via de Extensions van Rancher. In de Extensions, kies via Available voor Elemental en Install zal de uitbereiding toevoegen.

Helaas is dit nog niet een complete installatie, de CRD’s en de Operator moeten nog via Helm worden toegevoegd aan het cluster. Gebruik daarvoor de volgende commando’s:

helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator-crds oci://registry.suse.com/rancher/elemental-operator-crds-chart

helm upgrade --create-namespace -n cattle-elemental-system --install elemental-operator oci://registry.suse.com/rancher/elemental-operator-chart

Hierna verschijnt een extra menu-optie in Rancher, OS Management: (Ververs je browser)

Prerequisites

  • Rancher Manager versie 2.7.0 of hoger
  • Nodes bare-metal of virtueel, voorzien van TPM 2.0
  • Nodes dienen op te kunnen starten via UEFI boot
  • Nodes beschikken minimaal over 12GB HDD, aanbevolen wordt 20GB disk voor systeem + 40Gb voor opslag van containers
  • CPU en geheugen is afhankelijk van de workloads
  • Helm v3.8.0 of hoger

Registration Endpoint

Machine Registration Endpoints zijn configuraties die in een ISO file worden geplaatst en gebruikt kunnen worden om nodes aan te maken. Deze nodes worden dan toegewezen aan een Machine Inventory.

In de ISO file is het OS Suse Linux Enterprise (SLE) Micro aanwezig om de node mee op te starten, de componenten voor Kubernetes om een cluster aan te maken en de registratie aan de Rancher Manager. SLE Micro is een zogenaamd ‘immutable’ OS, m.a.w. het is beveiligd tegen wijzigingen en uitermate geschikt voor edge-computers.

Kies voor ‘Create Registration Endpoint‘ om een nieuwe registratie aan te maken. Kies een naam en configureer de cloud-config. Vervolgens worden labels gebruikt om bijvoorbeeld de omgeving en de role aan te duiden, in dit geval, environment=speeltuin en role=master. Tenslotte kies voor ‘Create’

Zodra de Registration Endpoint actief is kan er een ISO van gemaakt worden, kies voor ‘Build ISO‘ en dan voor ‘Download ISO‘.

Op dezelfde manier wordt een tweede Registration Endpoint aangemaakt voor de worker-nodes, waarbij het label dus role=worker is.

Als hypervisor gebruik ik momenteel ProxMox en vanaf versie 7.0 is er ondersteuning voor een TPM state disk. TPM staat voor ‘Trusted Platform Module‘ en is een chip op het moederbord van een PC of laptop dat gebruikt wordt om beveiligings-gegevens in op te slaan. Een VM heeft dat niet maar kan ge-emuleerd worden met een TPM-disk. Daarnaast dient de BIOS van het type UEFI te zijn en ook dat is in ProxMox in te stellen met behulp van een EFI-disk. Het BUS/Device type zet ik op ‘VirtIO Block‘ waardoor /dev/vda gebruikt gaat worden zoals in de cloud-config is aagegeven. De VM’s kunnen dan gestart worden met de zojuist aangemaakte ISO files en na het booten zullen deze machines in Machine Inventory verschijnen.

Machine Inventory

Hier staan de nodes die opgestart zijn met de ISO file vanuit de Machine Registration Endpoint. Tijdens het boot-proces worden ze door Rancher toegevoegd aan de inventory.

Met deze nodes kan nu een Elemental Cluster aangemaakt worden.

Elemental Cluster

Aan de hand van de Machine Inventory kunnen de Elemental Clusters geconfigureerd worden. De nodes in een clusters worden dan geselecteerd aan de hand van het Label dat in de Machine Inventory is aangemaakt. Bijvoorbeeld master-nodes en worker-nodes in aparte pools of bepaalde CPU-architectuur.

Met deze twee pools wordt nu het cluster gemaakt. Na enkele minuten is het nieuwe cluster gereed om gebruikt te worden.

Node toevoegen aan cluster

Opstarten van de VM met een ISO uit één van de Registration Endpoints zal het token gebruiken om de node toe te voegen aan het cluster mits de labels voldoen aan de voorwaardes in de cluster-definitie. Zodra de nieuwe node is opgestart, zal deze verschijnen in de Machine Inventory en in de Cluster configuratie zal via de label-selectie het aantal nodes opgehoogd worden in de betreffende pool. Door deze op te slaan met ‘Save’ (via Edit Config), zal het toevoegen compleet zijn.