Training on Containers and Kubernetes
On this repo you can find 10 different labs that allow you to gradually have an hands-on experience on containers (using Docker) and local Kubernetes cluster.
Navigate to https://tasb.github.io/docker-kubernetes-training/ to have access a better version of these instructions.
On this page
Prerequisites
To perform the labs on this repo you need to have the following software installed on your machine.
Windows
- Windows 10+ (Windows 11 is recommended)
- Windows Terminal
- Windows Subsystem for Linux
- Docker Desktop
- Configure WSL integration with Docker Desktop. More here
- Install Visual Studio Code (or other code editor of your preference)
- Enable Kubernetes on Docker Desktop (you may use any other kubernetes cluster at your choice)
-
(Optional) Some VS Code extension helpful for Docker and Kubernetes integration
Ubuntu
- Ubuntu 20.04
- Docker. How to install Docker Engine on Ubuntu
- Minikube. How to install Minikube on Ubuntu
- Kubectl. How to install Kubectl on Ubuntu
- Install Visual Studio Code (or other code editor of your preference)
-
(Optional) Some VS Code extension helpful for Docker and Kubernetes integration
This setup works on top of Windows Subsystem for Linux.
macOS
- Docker. Install Docker Desktop on Mac
- Minikube. How to install Minikube on Mac
- Kubectl. How to install Kubectl on Mac
- Install Visual Studio Code (or other code editor of your preference)
-
(Optional) Some VS Code extension helpful for Docker and Kubernetes integration
Labs
On next links you may find the hands-on exercises to give you more experience on this topics.
You may navigate for each one individually or you may follow the sequence starting on first one and proceed to the next using the navigation links at the end of each lab.
- Introduction to containers
- How to create my own container
- Persistence in containers
- Let’s compose your containers
- Introduction to Kubernetes
- Deployment lifecycle
- Managing services
- Storage in Kubernetes
- Monitoring and Operation
ToDo App project
With this simple ToDo App you have the hands-on experience to create all needed artifacts to deploy an app on Kubernetes.
- Step #1 Create images and run using docker compose
- Step #2 Create Kubernetes manifests and run on your cluster
Slides
Get access to the content used to share Kubernetes concepts during sessions.
- Introduction to containers
- Dockerfile and Tags
- Persistence in containers
- Docker compose
- Introduction to Kubernetes
- Deployments & ReplicaSets
- Kubernetes services
- Storage in Kubernetes
- Monitoring and Operation
- Mini project
Feedback
For any feedback open up an issue describing what have you found and I’ll return to you!