Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pablodelarco/kubernetes-homelab
Resources and configurations for building a Kubernetes homelab powered by K3s with GitOps workflows.
https://github.com/pablodelarco/kubernetes-homelab
cloud gitops homelab kubernetes
Last synced: 2 days ago
JSON representation
Resources and configurations for building a Kubernetes homelab powered by K3s with GitOps workflows.
- Host: GitHub
- URL: https://github.com/pablodelarco/kubernetes-homelab
- Owner: pablodelarco
- License: mit
- Created: 2025-01-03T13:10:00.000Z (16 days ago)
- Default Branch: main
- Last Pushed: 2025-01-11T17:05:06.000Z (7 days ago)
- Last Synced: 2025-01-11T17:22:40.466Z (7 days ago)
- Topics: cloud, gitops, homelab, kubernetes
- Homepage: https://pdelarco.medium.com/
- Size: 1.23 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🏠 Kubernetes Homelab
Welcome to my Kubernetes Homelab repository! This is where I document my journey about cloud-native technologies and self-hosting applications. This homelab is more than a playground—it's a platform where I explore ideas, automate workflows, and solve complex challenges while having fun.
As a **Cloud Solutions Architect**, Kubernetes is part of my daily toolkit. This homelab represents my passion for learning and experimenting with technology, focusing on scalability, backup strategies, and operational simplicity.
---
## 🚀 Why a Homelab?
The purpose of this homelab is:
1. **Learning by Doing**: By self-hosting, I tackle the complexities of deploying and managing real-world applications.
2. **All-in-One Environment**: This Kubernetes cluster manages all the applications of my home setup, serving as a single, integrated environment for testing, developing, and automating cloud-native workflows.---
## 🖥️ My Hardware
To keep things simple yet powerful, my homelab runs on the following hardware:
- **Beelink Mini PC 12 Pro**: Powered by an Intel N100, with 16GB RAM and 500GB NVMe SSD.
- **Raspberry Pi 4**: A lightweight option for testing Kubernetes in constrained environments (4GB RAM with 120GB SSD).This combination offers flexibility and low energy consumption while supporting diverse workloads.
---
## 🔧 Tools and Applications
The homelab runs a variety of applications, deployed using Kubernetes and managed declaratively through GitOps. Here’s an overview of the setup:
- **Kubernetes**: The backbone for workload orchestration, ensuring high availability and scalability.
- **ArgoCD**: Automates deployments and updates via GitOps workflows, keeping the cluster state consistent with repository configurations.
- **Longhorn**: Distributed storage solution for resilient and scalable data management.
- **Prometheus and Grafana**: Monitoring and observability for tracking cluster performance and health.
- **Home Assistant**: An open-source home automation platform to manage smart devices in the homelab.
- **Uptime Kuma**: A modern uptime monitoring tool for tracking the status of services and websites.
- **Homarr**: A sleek and customizable dashboard to centralize access to various applications.
- **Kube-Prometheus-Stack**: Comprehensive monitoring and alerting stack with Prometheus, Grafana, and Alertmanager.---
## 📂 What’s in This Repository?
This repository is structured to organize and simplify the management of my Kubernetes homelab:
- `apps/`: Contains deployment configurations (Helm charts or raw manifests) for each application.
- `argocd-apps/`: Includes ArgoCD-specific application manifests and GitOps configurations for managing deployments declaratively.
- `cluster/`: Defines Kubernetes cluster-wide configurations, such as networking, storage, and infrastructure setup.---
## 📈 My Goals
- **Deepen Kubernetes Knowledge**: Dive deep into advanced Kubernetes concepts, such as networking, GitOps or federation.
- **Enhance Resilience**: Design a self-hosted environment with reliable backups and minimal downtime.
- **Share Knowledge**: Document my progress and learnings to help others interested in setting up their own homelab.---
This homelab is a work in progress, and I look forward to expanding it further. Feel free to explore the repository, provide feedback, or draw inspiration for your own Kubernetes journey!