My Kubernetes Learning track

My Kubernetes Learning track

My Kubernetes knowledge has been patchy at best for a long time. I remember getting into learning about K8s back in 2019 when reading some great internal articles at Duo in 2019; Jordan Wright’s “Kubernetes is Bad” and Jeremy Erikson’s “Kubernetes is LESS bad”. These were great and had a whole bunch of detail, though at the time I was only really having a look at Kubernetes from a distance and didn’t get too hands-on like I usually would with something new that interests me.

Over the years I did learn more, sporadically. I learnt a bunch listening to Ian Coldwater’s talks and Tweets. I also attended some O’Reily courses on Kubernetes Threat Modeling and tried to dig into the security aspects.

I noticed one thing though, I never really “got it”. I realise now that I jumped ahead too soon, having some background in security and understanding of more traditional networking and computing portions I thought I could just jump straight to the security considerations. I needed to go back, the foundations were missing.

So, a while ago I started to look back at the foundational pieces, and I decided it would be worthwhile putting together a learning track for myself, which you can find below.

This is a collection of learning resources; articles, courses, books and other pieces that I’ve looked at/will look through on Kubernetes. The content here is not meant to cover everything and is intended more as an intro, with some deep dives randomly thrown in there. My goal is not to create a huge list to overwhelm but some places to get started, and other bits to come back to from time to time. Oh, and this assumes a level of understanding of containers in general and the next step is Kubernetes, though I’ve added some links that include both container learning info and K8s.

Learning Track


1️⃣ Where to Start?

Let’s start with the Google paper Large-scale cluster management at Google with Borg.

Generally, people start at or link people to kubernetes.io, but I personally enjoyed going back to this Google paper from 2015, which gives a great foundation and understanding of the “why” for Kubernetes and where it came from after 10 years of Google running Borg in production.

If you’re interested here’s my personal write-up on that paper. Note - It’s rough and quick, and just me learning out loud, so not really meant as a review to hold up to the light.

Renata Rocha recently shared this nice roadmap as a good visual way to tackle learning topics as you get into K8s: https://roadmap.sh/kubernetes

2️⃣ Next?

Let’s have a look at 3 options to check out next:

3️⃣ Hands-on

Let’s take a look at some hands-on learning:

  • Kubernetes the Hard Way by Kelsey Hightower: https://github.com/kelseyhightower/kubernetes-the-hard-way
    • Crank up 4 VMs and get into the weeds from start to finish with Kelsey Hightower. I really enjoyed this as a run-through and managed to enjoy some mistakes that lead me to learning more.
    • Folks have suggested the same with Minikube too
  • https://kodekloud.com/ - I’ve heard a lot of good things about Klodekloud but I’m yet to check it out
  • There are a fair few courses on things like Coursera or others with cloud-specific labs like GKE

Resources


📚 Books

📑 Docs

Blog posts, documentation and other pieces. Not meant to be exhaustive, just a starting point.

📜 Papers

📹 Videos

🏋️ Courses

Kuberenetes.io links to a couple of free courses and the Linux Foundation cert courses: https://kubernetes.io/training/

Getting Started with Google Kubernetes Engine: https://www.cloudskillsboost.google/course_templates/2 - Free on cloudskillboost

Architecting with Google Kubernetes Engine Specialization (Coursera)Getting Started with Google Kubernetes Engine - Need a Coursera subscription Kube Academy by VMware: https://kube.academy/courses/getting-started

Loads more to add here - I’ll add any that are actually good learning experiences, not just ones that are “available”`

🪪 Certification

Certified Kubernetes Administrator (CKA): https://training.linuxfoundation.org/certification/certified-kubernetes-administrator-cka/ Certified Kubernetes Security Specialists (CKS): https://training.linuxfoundation.org/certification/certified-kubernetes-security-specialist/ Certified Cloud Native Security Expert  (CCNSE: https://www.practical-devsecops.com/certified-cloud-native-security-expert/

💾  Kubernetes Commands


I thought it’d be fun to throw in some of the commands I’m accustomed to and use, especially for troubleshooting (Taken from my personal Gist on setting up mac env)

CommandDescription
kubectl get podsList pods in current namespace
kubectl describe pod pod_nameShow pod’s details
kubectl logs pod_nameView pod’s logs
kubectl exec -it pod_name -- bashEnter pod’s shell
kubectl get nodesList cluster nodes
kubectl top nodesShow node resource usage
kubectl get deploymentsList deployments
kubectl scale deployment my-app --replicas=3Scale app
kubectl apply -f manifest.yamlCreate/update from file
kubectl port-forward pod_name 8080:80Forward local to pod port

Kubernetes Troubleshooting

CommandDescription
kubectl top nodesShow node resource usage
kubectl top podsShow pod resource usage
kubectl get events --sort-by='.metadata.creationTimestamp' -n nsRecent events in namespace
kubectl get pods --all-namespaces -o wideAll pods with IPs
kubectl cluster-info dumpDump cluster state for debugging
kubectl rollout status deployment/appCheck rollout status
kubectl scale deployment my-app --replicas=3Scale app for performance
kubectl port-forward pod_name 8080:80Forward port for direct access
kubectl auth can-i create podsCheck permissions
kubectl get componentstatusesCheck control plane health

Related Posts

Oh! Am I Redundant?

Oh! Am I Redundant?

Alright, let’s start with the fact that it’s now Autumn, and the Acer Maple trees on my balcony look amazing!

Read More
Outcome Over Output - Measuring Change in Security Education

Outcome Over Output - Measuring Change in Security Education

“100% of employees completed the annual security awareness training 🥳”, “Yay, we are secure 🎊”… 🙃

Read More
Pour out the Acronym Soup - Create Memorable Names

Pour out the Acronym Soup - Create Memorable Names

Wot Do U Call It? - Wiley

The security industry and naming things…

The challenges when it comes to naming anything is nothing new, it’s hard and not to be underestimated.

Read More