Containers & Kubernetes
Overview
In the first six parts of the course, we’ve looked into both client-side and server-side scalability patterns, as well as into monitoring and security. We’ve in a sense stayed within the boundaries of individual servers, looking into improving the performance of those servers.
In this part, we take a step back and start looking into the infrastructure that supports the servers. We’ll first take a brief rehearsal of how Docker works, and then move on to Kubernetes, which is a container orchestration system.
This part is organized as follows:
- Docker Fundamentals recaps the basics of Docker, discussing its architecture, networking, volumes, and how to create Docker images and run containers.
- Kubernetes Overview introduces Kubernetes, a container orchestration system that can help in automating the deployment, scaling, and management of containerized applications.
- Minikube and Kubectl shows how to set up a local Kubernetes cluster using Minikube, how to interact with the cluster using
kubectl
, and how to create a Kubernetes deployment. - Networking, Service Discovery, and Ingress discusses how networking works in Kubernetes, how services can discover each other, and how to expose services to the outside world.
- Configuration Management demonstrates using ConfigMaps and Secrets for storing configuration data, and how to use them in a Kubernetes deployment.
- Storage and Operators shows how to create and claim persistent storage with PersistentVolumes and PersistentVolumeClaims, and briefly discusses Operators that can make it easier to take third-party services into use.
- ClougNativePG Operator shows how to create a PostgreSQL database in Kubernetes using the CloudNativePG Operator, how to run one-off tasks like database migrations, and how to interact with the database programmatically.
- Metrics and Autoscaling discusses how to collect metrics from Kubernetes, and how to use those metrics to automatically scale applications.
- Overarching Project continues with the overarching project, adding …
Finally, at the end of the part, there is a recap and feedback chapter that briefly summarizes the part and asks for feedback on the part.