Spyke
lemmy.zip

Pretty sure kubernetes is more like an addiction than a hobby I've never heard of anyone actually enjoying themselves while using it

48
Ulireply
sopuli.xyz

I really do love it. But to be fair, I should probably also be in therapy.

25
blarghlyreply
lemmy.world

You should watch out for abusive relationships.... if you're ever able to find one. Just a hunch...

3

No, Kubernetes is really nice once you get to know it. It's just misunderstood!

4

Ikr? I have a small pile of PoE pis running a bunch of self hosted stuff

13
lemmy.zip

Maybe building the cluster is the therapy?

51

Me: Feeling bad. Go camping for three days.

Wife: Ugh, men are impossible! Why don't you just go to therapy?

See therapist.

Talk about feelings.

Still feel the same.

Talk about childhood.

Still feel the same.

$5000 later.

Therapist: you know, a lot of people find exercise and spending time in nature to be very healing.

2
lemmy.ca

What if I go to therapy and still do the kubernetes thing?

31

Oh I get it now, the other k8s cluster IS the therapist. That's funny. And not at all an accurate description of my life. Anyway, I have a cronjob—I mean appointment—to get to.

7

Unfortunately, that is not how therapy works.

2
Ulireply
sopuli.xyz

K3s is a Rancher-based lightweight Kubernetes, more geared toward deploying on resource-constrained environments like ARM devices.

38
Psaldornreply
lemmy.world

Oh?

Thanks for the correction and new knowledge! (And a new tech temptation to resist)

16
Ulireply
sopuli.xyz

K8s is better anyway, at least if you have the hardware for it. It's just slightly more complex to set up, but it sounds like you may already be over that hurdle.

If you want a new technology to have to resist dropping everything to play with, may I suggest CUE? Stands for Configure, Unify, Execute. If you're not familiar, it's a json superset that turns json-style data into networks of programmed relationships. Like if you want to send the same deployment to three different clusters, which have differently configured CD components, and (for example) you want to vary the databases or message queues you use based on the core microservice or what else has been deployed in the cluster, you can build out these relationships in CUE and merge them with another .cue module that defines how to render files for each destination cluster, automatically producing all yaml manifests that you would otherwise have to write by hand.

But absolutely, do what you were going to get done today. It's not a cool technology at all, there's really no need to keep thinking about it.

5

Thanks I'll investigate cue.

Well, I started setting up my homelab on an old dell rackmount server I got for cheap, but then paused it for a year and electricity costs doubled. Costs half as much to run a droplet with what I need for now (server has like 200 cores, even idle it sucks juice)

I'll have forgotten all I know about kubernetes and prox mox by the time proces drop again 😔

3

So, let's modify CoreDNS and update the cluster version then. Don't want to? Interesting.

1

Yeah, but if I fix this one line of code, then the system will work and everything will be automated and my time spent on all of this won't have been a giant waste, right?..... Right?

17

When someone tells me about their kubernetes cluster, my first question is: how many DVD drives does it have?

5

I've done therapy and now I've got all kinds of tech in my appartment I used to consider important so yeah there's something to this 😅

5
InputZeroreply
lemmy.world

It's a way to run several computers as if they were one computer. It's more about scaling applications quickly or having high availability than anything else. Think of it like several home servers working together, if you want to run jellyfin you just tell the kubernets cluster to run it and it'll find a computer in your cluster to run it or two, or three, or a thousand copies of it.

1

It isn't so much about multiple computers, it is perfectly valid to run a "cluster" on a single computer (not really a cluster anymore?).

I would say high availability/scaling/etc aren't the main point, those are just features of the real main point. The main point being abstracting hardware/infrastructure from software deployment (mostly limited to containers) .

Containers brought us the first step of the way. Removing the link between your software and the OS it runs on, but there is still a lot of work to get the infrastructure around that software up and running.

Do you need multiple servers? Do you need a load balancer? Do you need health checks? Does the software need a persistent volume attached to it? Does it need environment variables set, or a config file mounted? Are some of those secrets that should be grabbed from a secrets management system? Do you need a DNS name for other services to access yours? Did a server die, maybe we should move the software? Network rules/reverse proxy/restart policies/etc/etc

Kubernetes gives you a set of APIs to control/monitor/maintain/deploy all of the infrastructure around your container as well as the container itself. You can take the same deployment and deploy it to the server in your basement or a cloud provider.

You as the admin may need to setup those clusters differently because the persistent storage driver for Amazon EKS isn't going to be the same as the NAS in your basement but once you have all of those components set up for each environment a properly written kubernetes deployment should just work on both clusters without the developer having to make changes to accommodate different infrastructure.

Kubernetes is just the cloud (as in API driven infrastructure) for containers, but more importantly it is a standard. Unlike normal clouds like AWS/Azure which are proprietary, anyone can implement the Kubernetes. That means you can easily move between cloud vendors, and avoid lock in. All while getting the cloud benefits of automating infrastructure.

3

You reached the end