Update - Dec 30, 2021
This section contains my notes on Kubernetes. As of this update, while I’ve gone through some resources and the learnk8s.io course on K8s, I haven’t been able to use it at work. I’m going to work my way through the material from the course, which is really, really good, and also read books-k8s-in-action.
I’ve installed both minikube and microk8s on my ThinkPad P14S, but for the sake of these exercises, I plan on using microk8s. There’s no reason, just that it’s configured and works. I also run `k3s <>`_ on my Raspberry Pi 4 cluster, which I hope to better leverage after learning how to use k8s properly.
I’d like to chart out my learning goals. I’m also learning Golang at the moment, so I’d like to be able to understand Kubernetes deeply, so that I can perhaps meddle with its inner workings. That being said, my goals are:
Be able to run a CLI-based application on k8s.
Be able to run a HTTP API service on k8s.
Be able to run a HTTP API service on k8s which also speaks to Redis and RabbitMQ instances running on the cluster.
Work with namespaces.
What are they for?
How do I limit their resources?
How do I manage access control?
Is it possible to inter-communicate between resources?
What are pods?
Does 1 pod == 1 container?
Can I run multiple containers on the same pod?
Do services running on separate pods share the same resource pool?
Limit pod resources
What are Linux Namespaces?
Run an ETL job on k8s.