English
Topic 17. Containerization and orchestration of distributed applications: Docker, Kubernetes, .NET Aspire
Goal: become familiar with Docker containers and images, the architecture and main objects of Kubernetes, the Aspire application model, and OpenTelemetry; learn to build .NET images with a multi-stage Dockerfile, describe an environment of several services in Docker Compose, and deploy an application to a kind cluster with Deployment, Service, ConfigMap, and Secret manifests; master scaling, rolling updates, probes, HPA autoscaling, Job batch workloads, and running and observing a distributed application with Aspire.
Lecture contents
- Containerization and Docker — Virtualization and containerization · Docker Desktop and basic commands · A sample application: distributed prime counting
- .NET images and Docker Compose — .NET images · Docker Compose
- Kubernetes: clusters and objects — Kubernetes: architecture and a local cluster · Kubernetes objects and kubectl
- Scaling and .NET Aspire — Scaling, updates, and fault tolerance · .NET Aspire
- Observability, deployment, and practices — Observability: OpenTelemetry · Deployment with Aspire · Practices for building containerized applications · Common mistakes