Skip to content

My homelab infra running on a hybrid arm64/amd64 Kubernetes Cluster.

License

Notifications You must be signed in to change notification settings

cguertin14/infra

Repository files navigation

infra

CircleCI

My infrastructure running on a hybrid arm64/amd64 Kubernetes Cluster.

Architecture

Multiple Storage Classes exist:

  1. ceph-block -> for all the k8s data (RWO);
  2. ceph-bucket -> for S3-like volumes (RWO);
  3. ceph-filesystem -> for RWX k8s volumes;
  4. nfs-media-client -> for all the media data.

Backups

Backups are created on S3 periodically for both etcd (k8s resources) and persistent volumes (PVCs and PVs). There is a runbook available here for information on how to restore backups.

Structure of this repository

The services/ folder contains subfolders which contain different kinds of web/networking/other services.

Dependencies

Kubeconfig Setup

NGINX Setup

First off, make sure the port 8000 is not used on your local machine, and then run the following command:

$ make start-lb
...

Kubeconfig Server Modifications

Second, you're going to want to edit your ~/.kube/config file like this:

...
server: https://127.0.0.1:8000
...

And that's it! Your local setup is now fully functional.

Start a local cluster

$ make local-cluster
...