Skip to content

Labs

Every lab is hands-on and runs on OpenShift, or on any Kubernetes cluster where noted. See Lab Environments for which environment each lab needs and how to get one.

Containers

Lab Description Time
Containers Lab Build, run, inspect and push a container image with Podman or Docker 45 min
Image Registry Lab Deploy from Quay.io, use pull secrets, and build inside OpenShift 40 min

Kubernetes & OpenShift

Lab Description Time
Lab 1 - Pod Creation Write a Pod manifest that meets a set of requirements 15 min
Lab 2 - Probes Add liveness and readiness probes to recover from an unhealthy app 20 min
Lab 3 - Debugging Find and fix everything that's broken in a deployment 30 min
Lab 4 - Multi-Container Pods Use the ambassador pattern to expose a legacy app 30 min
Lab 5 - Persistent Storage Give a PostgreSQL pod storage that survives restarts 30 min
Lab 6 - Pod Configuration Wire up ConfigMaps, Secrets, resource limits and a ServiceAccount 30 min
Lab 7 - Rolling Updates Roll out a new version, then roll back a bad one 25 min
Lab 8 - Cron Jobs Run a periodic task with a CronJob 20 min
Lab 9 - Services Expose deployments inside and outside the cluster 25 min
Lab 10 - Network Policies Allow only labelled clients to reach a secure pod 30 min
Lab 11 - Routes & Ingress Publish an app with an OpenShift Route and a Kubernetes Ingress 30 min
Lab 12 - Helm & Kustomize Deploy one app to dev and prod with Kustomize, then manage it as a Helm release 45 min
Lab 13 - Observability Scrape metrics, fire an alert, trace a slow request, and correlate logs 45 min
Lab 14 - Virtual Machines Run a VM next to your containers and expose a service it runs 45 min

Stuck? See the lab solutions.

Continuous Integration

Lab Description Time
Tekton Lab Build and deploy an app from Git with OpenShift Pipelines 60 min

Continuous Delivery

Lab Description Time
Argo CD Lab Deploy, self-heal and update an app with OpenShift GitOps 60 min

Projects

Project Description
Cloud Native Challenge Build, containerize, deploy and automate your own application using everything you've learned