From 44ebac6bbf8cf6cc298c238c87351c1a9e2dd76c Mon Sep 17 00:00:00 2001 From: Tyler Perkins Date: Wed, 8 Nov 2023 18:57:15 -0500 Subject: [PATCH] Add new kubernetes post --- content/posts/kubernetes-at-home/index.md | 41 ++++++++++++++++++ .../posts/kubernetes-at-home/poweredge.jpg | Bin 0 -> 28350 bytes 2 files changed, 41 insertions(+) create mode 100644 content/posts/kubernetes-at-home/index.md create mode 100644 content/posts/kubernetes-at-home/poweredge.jpg diff --git a/content/posts/kubernetes-at-home/index.md b/content/posts/kubernetes-at-home/index.md new file mode 100644 index 0000000..3c9377f --- /dev/null +++ b/content/posts/kubernetes-at-home/index.md @@ -0,0 +1,41 @@ +--- +title: "Kubernetes at Home" +date: 2023-11-08T18:33:13-05:00 +draft: false +--- + +I was fortunate enough to get my hands on a sweet little Poweredge R710, a older Dell 2U system. +They came in alot of configurations, but mine happened to come configured with two quad core Xeon CPUs, 64 gigs of ram, and six drive bays. +Its not terribly power efficient, fast, or quiet, but it sure is fun. + +![](poweredge.jpg) + +So with the addition of this machine, I decided to embark on tackling running [Kubernetes](https://kubernetes.io) at home, specficially [k3s](https://k3s.io). +To be honest, other than pure curiosity, and the desire to leverage all the compute available to me, I don't really have a good reason for doing this. +Something something overcomplicating, but who cares! This is all just for fun, and for me to learn, so its impact is pretty small (other than my sanity). + +So I followed [Funky Penguin's](https://geek-cookbook.funkypenguin.co.nz/) guide to k3s, at least as a starting point. I definitly didn't do what he +does one-to-one, partly because I didn't fully understand why he did some of the layouts he did. Prior to this, my experience with kubernetes was +limited to [TrueNAS](https://www.truenas.com/) and some light kubernetes stuff I experimented with in college, so I went in pretty much blind. + +If you want to know the details, you can find my [Flux](https://www.truenas.com/) repo [here](https://git.clortox.com/Infrastructure/Gluttony-Cluster). +I'll spare a bunch of the technical details on my specific implementation, as it is both bound to change, +and I really don't know enough to make strong comments on it. + +I've found over the less than one month I've had this, that it really has been worth the work. I like the even distrobution across my machines. +I've found the reasonably high up time to be very useful, as I can worry less about a container dying and inevitably getting +some complaint from friends and family about it. Once you get it set up, its pretty set and forget for the most part. + +Now the setup is by far the worst part. If you have limited familiarity with kubernetes like myself, you may find that its pretty +frustrating at first, and somewhat tricky to get your head around. Once you work with it for a few hours setting up a cluster, +it becomes far more intuitive, however that first part of the journey is tough. I set aside a weekend to get it rolling, and got some basic +services running like [Longhorn](https://longhorn.io), Postgres, Redis, [Minio](https://min.io), etc. Basically just stuff everything else would need. + +There was a minuite that I wanted to replicate a full cloud provider, however I'm finding that I both do not need it, and its really not worth the hassle. +I'm fine with running a few containers as opposed to having a deticated serverless runtime for an at home cluster that will get limited usage. + +The cost has been pretty low, as I have only have three machines running everything currently, and they are all both old and purchased for free/cheap. +I am currently working on getting my main desktop to join in the cluster at certain times of day, to support its usage when I'm away from the desktop. +When I do implement that, though, I will for sure be writing up a guide to doing this. + +If you also want to try this, I'm willing to provide any guidance I can, just shoot me an email with any questions. diff --git a/content/posts/kubernetes-at-home/poweredge.jpg b/content/posts/kubernetes-at-home/poweredge.jpg new file mode 100644 index 0000000000000000000000000000000000000000..dd917a80c1b7067a6acd0d476d94bb6a10e9ec71 GIT binary patch literal 28350 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