K3s-cluster/README.md

3.6 KiB

K3s cluster

Name Usage Accessibility Host Automated backups Configured
therbron.com Personal website Public Socrates Nothing to backup No
Traefik Reverse proxy and load balancer Public* Socrates Git configuration Partial (Missing TLS)
Adguard DNS ad blocker and custom DNS server Private Socrates ? Yes
Owncloud Infinity Scale File hosting webUI Public Plato ? No
Home assistant Home automation and monitoring Private Pythagoras-a ? No
Pwndrop On the fly file downloading Public* Pythagoras-b ? No
Vikunja To-do and Kanban boards Public Pythagoras-b ? No (To be integrated in Gitlab)
Gitlab Version control system Public Pythagoras-b ? No
Wiki Documentation manager Public Pythagoras-b ? No (Migrate to VuePress and Gitlab)
Bitwarden Password manager Public Pythagoras-b ? No
Jellyfin Media streaming Public Archimedes ? No
Sonarr TV shows collection manager Private Plato ? No
Radarr Movie collection manager Private Plato ? No
Jackett Torrent indexer Private Plato ? No
Deluge Torrent client Private Plato ? No
Minecraft Vanilla minecraft server for friends Public Archimedes Longhorn snapshots Yes

TODO

  • Change host/deployment specific variables to use environment variables
  • Write CI/CD pipeline to create environment loaded files
  • Write CI/CD pipeline to deploy cluster
  • Look into CockroachDB for redundant database
  • Add TLS certificates for every http applications
  • Configure IP range accessibility through Traefik (Internal vs external services)

Notes

Add node to the list of available load balancer kubectl label node <node-name> svccontroller.k3s.cattle.io/enablelb=true

Install traefik through helm

helm repo add traefik https://helm.traefik.io/traefik
helm repo update
helm install -f helm/traefik/values.yaml traefik traefik/traefik

Install longhorn

kubectl apply -f https://raw.githubusercontent.com/longhorn/longhorn/master/deploy/longhorn.yaml