Recently Updated Pages
Lesson: Pipelines with GitHub Actions
What you'll learn The building blocks of GitHub Actions: workflows, jobs, steps, and runners — a...
Lesson: Continuous Integration & Delivery
What you'll learn The difference between Continuous Integration (CI), Continuous Delivery, and C...
Assignment 2: Run a stateful workload with a PVC
Goal: Run a workload that keeps its data by claiming persistent storage from the lab's NFS Storag...
Assignment 1: Deploy a stateless app and expose it
Goal: Deploy a stateless web app to the lab cluster as a Deployment, configure it with a ConfigMa...
Lesson: Volumes, PVs, PVCs & StorageClasses
What you'll learn The difference between ephemeral storage that dies with a Pod and persistent s...
Lesson: ConfigMaps & Secrets
What you'll learn Why configuration belongs outside your container image. How a ConfigMap stores...
Lesson: Services & Ingress
What you'll learn Why Pod IPs are not enough, and how labels/selectors connect things. The Servi...
Lesson: Sidecars & Init Containers
What you'll learn Why some Pods hold more than one container, and what those containers share. T...
Lesson: One-Shot and Scheduled Work
What you'll learn The difference between work that runs forever and work that runs once and fini...
Lesson: Pods, Deployments, DaemonSets & StatefulSets
What you'll learn What a Pod is and why it is the smallest thing Kubernetes runs. How Deployment...
Lesson: What Kubernetes Is and Why
What you'll learn The problems Kubernetes (often shortened to "k8s") solves that plain docker ru...
Lessons on the build pipeline
Give builds their own box. Bursty, disk-heavy, sometimes privileged — you don't want that sharin...
A pipeline, end to end
A workflow file in a repo (.gitea/workflows/build.yml) is all it takes. Because the job image alr...
Pulling private images (the bit people trip on)
Here's a subtle thing. Those custom job images live in the private registry, which requires authe...
Docker-out-of-Docker, and custom job images
Jobs run inside containers, but the jobs themselves need to build containers. The classic tangle ...
The Gitea Actions runner
Gitea ships a CI system that speaks the same workflow syntax as GitHub Actions. To actually run j...
The build half of the platform
A cluster runs containers; it doesn't build them. Something has to turn a git push into an image ...
Assignment 2: Compose a multi-service stack
Goal: Define and run a multi-service application with Docker Compose — your app from Assignment 1...
Assignment 1: Containerize an app and push it to the registry
Goal: Take a small application, write a house-style Dockerfile for it, build a small and secure i...
Lesson: Dockerfiles & Best Practices
What you'll learn Write a Dockerfile using the core instructions (FROM, WORKDIR, COPY, RUN, ENV,...