Just a Bunch Of YAML
YAML files are seperated into different directories to give the illusion of a well-structured repo.
This is my personal K8s stack. Used to host my personal website pez.sh.
Each cluster in this project is a mirror of each other (except hardware specific things such as node spec. & node count)
All components & services are architecture agnostic and will work on AMD64
, ARM64
& ARMv7
.
Locations:
Location | Aproximate total resources | Provider |
---|---|---|
London | 76 CPUs, 104Gi RAM | Self-managed |
Paris | 16 CPUs, 96Gi RAM | Self-managed |
Copenhagen | 16 CPUs, 32Gi RAM | Self-managed |
Load balancing is handled via Cloudflare, each "region" is set up as an origin. Cloudflare will automatically route the client to the origin with the lowest latency.
Component | Status | Description |
---|---|---|
Istio | Implemented | Personal service-mesh of choice, directs traffic and provides mutual TLS and workload to workload auth |
Prometheus-operator | Implemented | Collecting metrics from all services and other system-components |
Metrics Server | Implemented | Collecting metrics of the clusters |
Grafana | Implemented | Provides pretty dashboards (part of prometheus-operator) |
Sealed Secrets | Implemented | Provides CRD to take in encrypted secrets, so I can upload secrets to GitHub |
ArgoCD | Implemented | GitOps management and UI |
Rancher Upgrade Controller | Implemented | Automates node upgrades |
- Datadog-agent (When I find budget)
Workload | Status | Description |
---|---|---|
Pez.sh | Added | Personal website |
Plex | Planned | Movie & TV-Show streaming |
Radarr | Planned | Movie torrent management |
Sonarr | Planned | TV Show torrent management |
Home Assistant | Planned | Automation of smart home appliances |