.NET
Backend-Development
DevOps

Programming Services with ASP.NET Core

A hands-on training showing how to design, implement, test, and operate high-quality HTTP, streaming, and event-driven services with ASP.NET Core 10 and the .NET 10 stack including .NET Aspire.

Kubernetes for .NET Developers

Duration: 3 days

Hands-on workshop for developers and software architects (with a .NET focus) to design, containerize, deploy, and operate applications on Kubernetes. Builds on the Docker workshop as a prerequisite.

Audience

  • .NET developers and architects deploying services to Kubernetes
  • Teams standardizing on containers, microservices, or cloud-native practices

Prerequisites

  • Docker fundamentals (see docker-en.md)
  • Basic C#/.NET and REST/HTTP familiarity
  • Kubernetes CLI access (kubectl) and a local or cloud cluster (kind/AKS/minikube)

Learning Goals

  • Understand core Kubernetes objects (Pods, Deployments, ReplicaSets, Services, Ingress)
  • Package .NET apps into images and deploy via manifests and Helm
  • Configure apps with ConfigMaps/Secrets and environment variables
  • Expose services with Ingress and manage traffic
  • Add health probes, resource limits/requests, and autoscaling (HPA)
  • Observe applications with logs, events, and metrics
  • Apply rollout strategies (rolling updates, blue/green, canary)

Outline

  1. Kubernetes fundamentals
    • Control plane vs. nodes; declarative model; reconciliation loop
    • Pods, ReplicaSets, Deployments; Services (ClusterIP/LoadBalancer)
  2. Building and packaging .NET apps
    • Container images (multi-stage) and image registries
    • Using dotnet publish for containers; image tagging/versioning
  3. Configuration and secrets
    • ConfigMaps, Secrets, env vars, mounted files; secret management practices
    • Connection strings and appsettings patterns for .NET
  4. Networking and ingress
    • Service types; DNS in-cluster
    • Ingress controllers and routing basics
  5. Health, resources, and scaling
    • Liveness/readiness probes for .NET apps
    • Resource requests/limits; Horizontal Pod Autoscaler (HPA)
  6. Deployments and rollouts
    • Rolling updates, rollbacks
    • Blue/green and canary concepts (Helm/labels/Ingress approaches)
  7. Observability
    • Logs, events, kubectl diagnostics
    • Metrics (Prometheus-compatible), basic dashboards
    • Readiness for OpenTelemetry/Tracing integration
  8. Tooling and workflows
    • kubectl basics; kubectl apply/rollout/logs/exec
    • Helm charts (values, templates) for .NET services
    • CI/CD considerations for image build, scan, deploy
  9. Aspire-assisted deployments
    • Using the Aspire CLI to deploy services to Kubernetes
    • Configuring AppHost to emit Helm charts and wire environment/config
    • Combining Aspire models with existing manifests/Helm releases

Hands-on Labs

  • Build and push a .NET service image (from Docker workshop base)
  • Deploy a Deployment + Service; verify with kubectl and port-forwarding
  • Add ConfigMap/Secret-based configuration; consume in the .NET app
  • Configure liveness/readiness probes and resource requests/limits
  • Expose via Ingress and validate routing
  • Scale with HPA and observe behavior under load
  • Perform a rolling update and rollback
  • Use the Aspire CLI to deploy the service to Kubernetes and inspect the release
  • Configure AppHost to generate Helm charts and apply them to the cluster

Outcomes

  • Working Kubernetes manifests/Helm chart for a .NET service
  • Practical skills for configuring, scaling, and exposing .NET apps on Kubernetes
  • Confidence using kubectl/Helm and applying health, config, and rollout best practices
An unhandled error has occurred. Reload 🗙