Menu
The Kubernetes Homelab That Prints Job Offers - 2025

The Kubernetes Homelab That Prints Job Offers - 2025

Mischa van den Burg

184,126 views 1 year ago Save 12 min 6 min read

Video Summary

This video details a comprehensive Kubernetes home lab setup, emphasizing its value for career advancement in DevOps. The lab runs on affordable, refurbished hardware, including a ThinkPad T430 for the control plane and HP Elite Desk minis as worker nodes. Talos Linux is used for its robust security features, though k3s is recommended for beginners. GitOps, with Flux CD, is employed to manage the lab's configuration, which is publicly available on GitHub, serving as a strong portfolio piece. Security is paramount, with secrets managed by Azure Key Vault, ensuring a highly secure environment.

The lab hosts various applications, including Homepage as an entry point, Pi-hole for ad blocking, and PG Admin for database management. Monitoring is handled by Grafana with Prometheus. Productivity tools like CommaFeed (RSS reader) and Wallabag (read-later app) are self-hosted for accessibility. Linkding serves as a bookmark manager, offering centralized access across devices. The speaker also highlights n8n, a low-code platform used to integrate external data sources like sleep and health metrics from services like Aura and Apple Health into a self-hosted PostgreSQL database, visualized through Grafana.

Database management is facilitated by the EDB operator, enabling the creation and management of PostgreSQL clusters on Kubernetes with automated backups to Azure Blob Storage. This setup not only provides a robust data storage solution but also serves as a powerful learning tool for database operations. The speaker shares personal projects like a Settle Caster and Tracker to monitor note-taking activity and bedroom temperature, demonstrating how data visualization in Grafana can reveal interesting correlations and insights.

Short Highlights

  • A Kubernetes home lab built on cheap, refurbished hardware (ThinkPad T430, HP Elite Desk minis) can differentiate DevOps candidates.
  • Talos Linux provides enterprise-grade security, with k3s recommended for beginners.
  • GitOps with Flux CD is used for configuration management, with the entire setup publicly available on GitHub as a portfolio.
  • Various self-hosted applications like Pi-hole, Wallabag, and Linkding are utilized for productivity and accessibility.
  • Data integration from services like Aura and Apple Health into self-hosted PostgreSQL databases for visualization via Grafana is a key feature, managed by tools like n8n and the EDB operator.

Key Details

Kubernetes Home Lab Setup and Benefits [0:00]

  • The speaker has run a Kubernetes home lab for over a year, finding it to be the number one differentiator for DevOps candidates.
  • The home lab is entirely on Kubernetes and a Synology NAS.
  • Hardware includes a ThinkPad T430 for the control plane and refurbished HP Elite Desk mini PCs as worker nodes, offering a cost-effective solution.
  • The current setup has four nodes in the production Kubernetes cluster.

This is the number one thing that makes me stand out from other devops candidates.

  • This setup provides a strong portfolio piece, showcasing engineering thinking and approach, especially beneficial for career transitions or early-career professionals.
  • It forces a focus on security, with most secrets stored in Azure Key Vault.

Operating System and GitOps [0:00]

  • Talos Linux is used for its production-grade, enterprise-grade security out of the box, making it difficult to SSH into machines and exposing only an API.
  • For beginners, k3s is recommended for its ease of setup while still providing access to the Linux server.
  • Flux CD is used as the GitOps solution, enabling public availability of the home lab code in a GitHub repository.
  • The speaker has almost a thousand commits in this project, treating it as an open-source project for reference.

Otherwise all of my other secrets are stored in Azure Key Vault and nobody can get into my cluster because everything is super secure.

  • This GitOps approach, combined with security measures, builds confidence in engineering capabilities by exposing services to the internet in a controlled manner.

Applications on the Home Lab [0:00]

  • Homepage serves as the entry point and personal start page for the home lab, running as a container.
  • Pi-hole is used for local DNS and ad filtering, running on the Synology NAS.
  • PG Admin provides a graphical interface for managing numerous databases running on the Kubernetes cluster.
  • Grafana is used for monitoring, utilizing the Prometheus stack for custom dashboards.
  • CommaFeed is an RSS feed reader with a nice UI, accessible from any device.
  • Wallabag is a self-hosted read-later app that scrapes articles and stores their text in a database, ensuring content availability even if removed from the internet.
  • Linkding functions as a bookmark manager, with a browser extension for easy saving and centralized access across different browsers and devices.

If the author at some point decides to take this off from the internet I still have all of my I still have my article available to me.

n8n and Data Integration [0:00]

  • n8n is a low-code platform used for automation, similar to services like Make.com or Zapier.
  • It's used here to bridge external data sources into a self-hosted PostgreSQL database.
  • Specifically, data from Aura (sleep tracking, activity scores) is accessed via its API and upserted into a PostgreSQL database.
  • This data, including Aura sleep scores, is then visualized in Grafana.
  • Apple Health data is also exported to the PostgreSQL database, allowing for tracking of metrics like calories burned, body mass, body fat percentage, and lean body mass over time.

This data is then exposed to the Internet by Aura with an API.

  • This project is driven by a desire to learn about databases, gather personal data, and ensure its long-term availability.

Databases on Kubernetes [0:00]

  • The speaker runs databases using the EDB operator (Enterprise DB Operator or Cloud Native PG).
  • A cluster object is created in YAML and applied via Flux CD, which then deploys PostgreSQL clusters with primary and standby pods.
  • These databases are backed up to Azure Blob Storage using the Barmon object store, integrated into the operator.
  • This backup and restore functionality has proven crucial, especially after power outages that corrupted data.
  • The EDB operator provides dashboards for monitoring database statistics, memory usage, and backup status.

At any time time I can just restore my database from the cloud and this has happened multiple times.

  • This setup is presented as a great way to learn about databases, data input, and backup strategies on Kubernetes.

Personal Projects and Data Visualization [0:00]

  • The Settle Caster and Tracker project monitors the total number of notes in a note-taking system, showing a growth from 2,200 to almost 4,000 notes.
  • Data from PostgreSQL databases can be used as a data source in Grafana through SQL queries for visualization.
  • Bedroom temperature is also tracked, showing a seasonal fluctuation from 26° in summer to 16° in winter.
  • A correlation is observed between decreased bedroom temperature and increased sleep scores, exciting the speaker.

I hope this gave you some inspiration and some apps that you can try in your home lab.

Other People Also See