Okay, I've been asked this question to which I was not prepared: where do you go if you want to learn Kubernetes from the ground up? Consider a person who doesn't even know how to run "docker" in their own laptop, but they want to rise to a point where they can actually manage a Kubernetes cluster. Thoughts?
#HomeLab #Kubernetes #SysAdminLife #k8s #SRE
@badnetmask@hachyderm.io that is a good question
I did it over years of both reading best practices, common tools and deploying it at work and at home
I probably learned more with the home cluster
I have some options as a result, mostly on the scale and what technologies to use and what to avoid
Not knowing docker might be a downside because docker is a less complicated way of running containers so you don't have that basis to fall back on for examples
@rachel
Right. A lot of people learned it "organically" just because they have been exposed to one thing or another at work, like "run this container this way to do this thing", but this person apparently not even that.
@badnetmask@hachyderm.io there are a few things that are really different that add layers of complexity
I'm almost migrated over to the new cluster, and once I do, my goal is to write a blog series about the new setup
my objective was to go from nothing to a running Forgejo instance and beyond
I started with*:
1. getting a cluster running using Talos Linux and VMs
2. Initializing the cluster
3. Installing Cilium, which was setup as a LoadBalancer (provides IPs for services)
4. Installing cert-manager which.... manages certificates.. specifically letsencrypt certs for services
5. Configuring storage: I went with Ceph, but starting out nfs-subdir-provisioner is much easier
6. I use CloudNative-PG to manage my postgresql dbs but you could just make statefulsets with postgres manually if needed
7. I use keycloak for OIDC/Oauth so that was next, not strictly required
8. Forgejo is now ready!
9. ArgoCD now can manage the rest of the application deployments
10. Renovate makes Forgejo MRs for application updates that are deployed via ArgoCD
* I am skipping a few things here, partly because they are not likely to be useful for most people
** I am so, so very sorry, I assume only a tiny fraction of that made sense. Each item there will get it's own entire blog post.
@badnetmask maybe as a starter look for topics to cover up front at https://roadmap.sh/kubernetes
@stefan
Oh, that's very interesting. Thank you!
@badnetmask you go home… cause your drunk
Whatever the path, for me it should include the book "Podman in Action" because it really makes you understand containers
@alxlg
That's a good resource for sure. Thanks!
@badnetmask I'd start with learning Docker and how containers work in general. From there when I'm ready to take the next step I recommend "Kubernetes The Hard Way" to learn how to really do everything from scratch and why.
We covered this topic on Hybrid Cloud Show EP 8: https://podverse.fm/episode/obKG8pDrU
@SNThrailkill
Well, listening to that requires a subscription, but I'll look for the website. Thanks!
@badnetmask ah that's odd. Sorry about that. Here you go!
@badnetmask A friend at work was trying to do this very thing. He's got a rudimentary understanding of containers but not much direct hands on experience
My advice was to ask himself; do you want to know how to administer a k8s cluster or to manage applications running on k8s?
In his case, we deploy some stuff in OpenShift and he wanted to understand the internals so that he could actively participate in that work more often. He wanted to get a better intuition about what's happening when it all goes wrong
I told him to start by getting some VMs (or raspberry pis) and see if he could follow k8s the hard way https://github.com/kelseyhightower/kubernetes-the-hard-way. This took him a LONG time and he told me he was fighting it all the way but he's really happy that he finally got it working and he learned a lot this way.
If your friend is more interested in the application side of things, I'd suggest looking at microk8s as an easy way to get a single node cluster working and try to deploy some applications from there. https://microk8s.io/docs/getting-started
@badnetmask All of that assumes that you're able to swing the basics of docker though...
It's been a long time since I got started but this looks like a comprehensive end-to-end guide for container starters: https://www.geeksforgeeks.org/30-days-of-docker/
Sorry I can't confirm if it's any good
@nicr9
That's a very good reference (and interesting story). Thanks!
@nicr9 @badnetmask This is actually the best advice and the same many of us give to others.
@badnetmask UPDATE: spoke with him this morning and he's planning on tearing it all down and starting from scratch. He's planning on taking the CKA exam soon
@badnetmask better go 10 years back in time, that's when people built them themselves
@ikkeT
It's never too late.