gilesknap / IaC-at-home

Documentation and configuration for my attempt to bootstrap configure my home cluster from a github repo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IaC-at-home

PROJECT STALLED

I got bogged down in creating a kubernetes image for raspberry pi and have moved on to other projects for the time being.

I did get as far as making a MAAS deployed cluster and helping to write this tutorial for Canoncial

WORK IN PROGRESS

Documentation and configuration for my attempt to bootstrap and maintain my home cluster with MAAS and Cluster API.

See previous work in setting up a k3s cluster here https://github.com/gilesknap/k3s-minecraft. The goal is to migrate over all applications from the previous cluster.

Hardware

  • 3 * Raspberry Pi 4 with 4GB RAM +32GB USB3 flash
  • 1 * Raspberry Pi 4 with 8GB RAM +32GB USB3 flash
  • 3 * Raspberry Pi 4 with 2GB RAM +32GB USB3 flash
  • 1 Intel NUC I7 with 32GB RAM +250GB Nvme + 4TB SSD for backup
  • 1 QNAP TS-x53D NAS with RAID 1 pair of SSD 4TB
  • 1 Workstation AMD Ryzen 7 8500X 32 GB RAM Nvidia RX 3090 GPU

The NAS will provide storage and any 'outside of the cluster' services needed for bootstrapping/management. This will primarily be storage plus one or more VMs to run the MAAS and cluster API management node(s).

Steps

I did some investigation into PXE booting for Raspberry Pi. However, all of this is superseded by MAAS and UEFI for Raspberry Pi.

Next I set up Canonical MAAS and a cluster management cluster.

At present (Mar 2022) I have Canonical MAAS deploying focal to the PIs (and an Intel NUC). I'm able to kick off deployment using the ClusterAPI and SpectroCloud's MAAS provider but the deploy fails because focal needs a min kernel and the provider does not yet expose control of that.

A few things could fix this:

  • SpectroCloud may add min-kernel configuration
  • Deploying impish instead of focal would work as it has newer kernel, but this is not currently working either - Canonical may be able to fix this.
  • The next LTS is out soon. If that just works then all will be well.

In the meantime, I'm looking into how to uplift a ubuntu machine to a Kubernetes node.

About

Documentation and configuration for my attempt to bootstrap configure my home cluster from a github repo

License:Apache License 2.0


Languages

Language:Shell 100.0%