This post has been in my drafts since 2018, so I'm publishing it before I forget.
You certainly have heard of Kubernetes. My stance on it is that it won't hurt you to do a little research about it even if you don't use it, considering how widely used it is now in the industry. However it's probably overkill for the majority of companies, so while many resources about k8s describe it as the tool that will solve all your problem, it is not true.
I wish I could find more resources like the ones below that actually explain the concepts and not throw random words at you while expecting you to understand.
There are a lot of concepts and vocabulary in Kubernetes, so the learning curve is rough.
Even if you're experienced with containers and Docker, it's difficult to understand how Kubernetes works because there are many layers of abstraction.
I've been learning Kubernetes for a while now, and the best advice I can give you for now is: read blog posts, tutorials, documentations, watch videos, talks and experiment, again and again.
First step: get comfortable with Docker
I've known some people that jump right into Kubernetes without even knowing how to launch a Docker container. This seems super ineffective to me, so I'll advise you to learn Docker and get comfortable with. It's a different paradigm that physical machines and VM, even with configuration management, but it's not that hard to understand.
If you don't know what a stateless application is or how to build a Dockerfile, it will be that much harder to understand the inner workings of k8s.
Containers and K8S basics by IBM
Actually, by IBM FSS FCI and Counter Fraud Management, whatever that may be. They have a YouTube channel with very few views, but they're short and extremely clear.
Here are the videos (there is no playlist):
- Containers: cgroups, Linux kernel namespaces, ufs, Docker, and intro to Kubernetes pods
- Container Orchestration: Dealing with Many Containers
- Kubernetes 101: Nodes
- Kubernetes: Cluster Integration: Services: Getting in and out of the cluster
- Kubernetes 101: Master
- Kubernetes: useful commands
- Kubernetes: DNS and Name Discovery
- Kubernetes: Master and Scheduler
- Kubernetes: Understanding Resources via YAML, Deployments, Replica Sets, and Pods
- Kubernetes Volumes 1: emptydir, NFS, YAML, volumes, and intro to Persistent Volume Claims
- Kubernetes Volumes 2: Understanding Persistent Volume (PV) and Persistent Volume Claim (PVC)
- Kubernetes Volumes 3: How things connect
This man deserves more recognition!
Here are two of Kelsey's conferences about k8s. It's the best speaker I've seen and he will make you want to use k8s even if you don't have anything to run.
Getting started & tutorials
Minukuke is the go-to solution to test k8s on your own computer.
This is my favorite:
Kubernetes on bare metal
I'd advise to run k8s trough managed services on cloud providers. Most of them have one now, including the big names like AWS and GCP but also cheapers alternatives like OVH and Digital Ocean.
In case you want to run a proper k8s cluster yourself, here are some links I kept:
Kubernetes for your personal projects
You might not need Kubernetes
Or so said Jessie:
Kubernetes failure stories
k8s.af is a list of failure stories that happened on a k8s infrastructure. It's interesting because you get to learn more about the different types of implementation (since there are so many), and it will probably cool down your excitement about the new cool tech™ and make you realize that complexity comes with a cost.
That's it. There are millions of resources on the web about k8s, but these are some that helped me. I hope they will help you too!
I still don't know much about Kubernetes despite having worked on multiple clusters at my previous job, but at least I can pretend like I do: