Skip to content
Setup scripts for my home server named "Hydra"
Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
nginx
pi
.gitignore
LICENSE
README.md

README.md

Hydra

Setup scripts for my home server setup named "Hydra"

Overview

I run a Kubernetes cluster using k3s on Raspberry Pi4 (2x nodes). I've prepared an Ansible Playbook to prepare the base OS (Raspbian Buster Lite), configure some sane defaults and create a k3s cluster.

Getting Started

If you're interested in bootstrapping a RPi cluster with k3s, you can refer to the following instructions to use the Ansible playbook.

Prerequisites

  • You need to flash Raspbian OS image on your RPi.
  • You need to enable SSH access, which can be done by sudo touch /boot/ssh.

Running the playbook

  • Copy the inventory.sample to inventory and replace the hosts with your RPi nodes.
  • Replace the pi/roles/raspbian/vars/secret.sample with your own secrets in pi/roles/raspbian/vars/secret.yml. I generally prefer to use Ansible Vault to encrypt the secrets.
  • Run the playbook using ansible-playbook pi/setup.yml. This will configure your RPi for:
    • Changing the default password for pi.
    • Disabling Password based SSH access.
    • Configure hostname on all RPi nodes.
    • Enable cgroups features.
    • Update the GPU memory to lowest possible (16M) since we are going to use this as a server.
    • Bootstrap a k3s cluster on the control-plane node and join a agent node with the control-plane node.

Credits

I referred to the following resources while creating the Playbook

Services Hosted

List of services I am running on Hydra.

WIP

You can’t perform that action at this time.