/k3s-cluster

My home multi-architecture Kubernetes cluster.

Primary LanguageJustApache License 2.0Apache-2.0

k3s

My home Kubernetes cluster ⛵

... heavily inspired by the works of onedr0p 🚀

Work in progress 👷


📖  Overview

This repository is my homelab Kubernetes cluster in a declarative state. Flux2 watches my cluster folder and makes the changes to my cluster based on the YAML manifests.


:padlock:  1Password and bootstrap

Secrets needed to bootstrap the cluster are stored in 1Password. Therefore first step is to install 1Password for Desktop and the CLI:

brew install --cask 1password-cli

And then authenticate to the accout and trigger the bootstrap process:

op run --env-file="./.env" -- just

Project structure

I've added some scripts to install a K3s cluster and provision it from scratch. Some important directories/files on this project are:

  • .env: contains definitions of variables that instructs 1Password to load.
  • ansible: mainly cluster bootstraping
  • cluster: GitOps to deploy applications in the cluster
  • justfile and .justfiles: I'm testing just as a task executor. Runs all the steps needed to fully bootstrap a cluster.

💻  Cluster setup

My cluster is k3s and multi-architecture being composed by:


🤝  Thanks

A lot of inspiration for my cluster came from the people that have shared their clusters over at awesome-home-kubernetes