If you are just getting started with containers and container orchestration, it can be difficult to focus on what to learn with all the different technologies available. It is important to understand the basics so you can build your foundational knowledge.
What is a container? Once you understand what a container is, you can begin learning the different container runtimes. For this post, I'm going to focus on the most popular: Docker.
Because containers are meant to package up your microservices and you will inevitably have tens, to hundreds, to thousands of them, you will then need to begin figuring out how to orchestrate and manage them all using container orchestration technologies. Once again, for this post, I'm going to focus on the most popular: Kubernetes.
Despite some - not all - of the content being a couple years old, what follows are some of my go-to resources to begin building foundational knowledge for Docker and Kubernetes.
- What is a container? What is Docker? What is Kubernetes? - There are several links within this post that dive deeper into what Docker is
- The Children's Illustrated Guide to Kubernetes - Do not be deterred that this is formatted like a children's book; it is a great starting point for anyone learning Kubernetes.
- Smooth Sailing with Kubernetes - A fantastic comic from Scott McCloud
- Kubernetes: Scheduling the Future at Cloud Scale by Dave Rensin - A 43 page eBook that dives deep into the components of Kubernetes
After you have read through those resources, apply the concepts you have learned by deploying a three tier web application on top of Kubernetes.