Waji-97 / K8s-Homelab

My Kubernetes Homelab Repository

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kubernetes Homelab Repo

Homelab Kubernetes Cluster managed by FluxCD & deployed on Talos Linux


k8s  Talos  Flux  

talos   kubernetes

GitHub last commit

Welcome to my Homelab! 😊

The repository is a mono repository for my homelab Kubernetes cluster that implements GitOps practices using FluxCD. It also holds Talos configuration files (generated from Talhelper) for my kubernetes cluster with three control plane nodes & a single beefy worker node.


Components βœ…

Logo Name Description
FluxCD GitOps tool built to deploy applications to Kubernetes
Containerd OCI - Container Runtime
Talos Base OS for Kubernetes nodes
Cilium CNI - Kubernetes Network Plugin
Helm The package manager for Kubernetes
Ingress Nginx Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer
Kubernetes Container Orchestration
Prometheus Systems monitoring and alerting toolkit
Grafana Visualize monitoring data via graphs and tables
Loki Horizontally-scalable, highly-available, multi-tenant log aggregation system
Thanos HA Prometheus setup with long term storage capabilities
Cloudflare Operator Create and manage Cloudflare Tunnels and DNS records as K8s objects
Longhorn Cloud native distributed block storage for Kubernetes
Minio S3 compatible object store
Sealed-Secrets Encrypting normal Secrets into a SealedSecret
KubeVirt Run traditional VMs inside Kubernetes as Pods
Multus a CNI plugin that enables attaching multiple network interfaces to pods
Cert-Manager Cloud native certificate management
Actions Runner Controller Kubernetes controller for GitHub Actions self-hosted runners
Crossplane Kubernetes extension for building cloud native control planes
Keycloak Open Source Identity and Access Management
Oauth2-Proxy Reverse proxy server that provides authentication using providers

Hardware ⚑

Device Count Disk Size Ram CPU Operating System Purpose
Custom Made PC 1 1TB NVMe 64GB 24C/32T Talos Kubernetes Worker
Mini PC 1 1 64GB SSD 16GB 4C/4T Talos Kubernetes Master 1
Mini PC 2 1 64GB SSD 16GB 4C/4T Talos Kubernetes Master 2
Mini PC 3 1 64GB SSD 16GB 4C/4T Talos Kubernetes Master 3

Directories πŸ“š

This Git repository contains the following top level directories.

πŸ“ apps         # Applications deployed in Kubernetes defined in code for FluxCD (grouped by namespace)
πŸ“ docs         # Documentation of deployed components
πŸ“ hack         # Useful commands/scripts used (hacks?)
πŸ“ talos        # Talhelper generated configuration files & encrypted secrets

Upcoming πŸ’‘

  • Kubernetes Bootstraping using Talos - Talhelper
  • GitOps using CD tool - FluxCD
  • SSO implementation - Keycloak and some auth proxy
  • Backup tool implementation - Velero (most likely)
  • Cluster Policy Management - OPA or Kyverno
  • Integrated dashboard for homelab - (not sure)
  • Observability stack - Metrics, Logging & Tracing
  • Security tool implementation - Falco
  • Automation - Repo & Component related - Renovate + more

Thanks 🀝

Thanks to all the people who donate their time to the Home Operations Discord community.

About

My Kubernetes Homelab Repository

License:Apache License 2.0