Skip to main content
Advanced Search
Search Terms
Content Type

Exact Matches
Tag Searches
Date Options
Updated after
Updated before
Created after
Created before

Search Results

228 total results found

Lesson: What Kubernetes Is and Why

Module 7 — Kubernetes & Orchestration

What you'll learn The problems Kubernetes (often shortened to "k8s") solves that plain docker run cannot. What "declarative desired state" means and how the control loop keeps your apps running. The pieces of a cluster: the control plane and the worker nodes....

Lesson: Pods, Deployments, DaemonSets & StatefulSets

Module 7 — Kubernetes & Orchestration

What you'll learn What a Pod is and why it is the smallest thing Kubernetes runs. How Deployments use ReplicaSets to keep copies running, scale, and roll out new versions. What a DaemonSet is and why "one per node" is useful. What a StatefulSet is and when st...

Lesson: One-Shot and Scheduled Work

Module 7 — Kubernetes & Orchestration

What you'll learn The difference between work that runs forever and work that runs once and finishes. How a Job runs a task to completion and retries on failure. How completions and parallelism let a Job run many times. How a CronJob schedules Jobs on a timet...

Lesson: Sidecars & Init Containers

Module 7 — Kubernetes & Orchestration

What you'll learn Why some Pods hold more than one container, and what those containers share. The sidecar pattern: a helper container that supports the main one. Init containers: setup steps that must finish before the app starts. How containers in a Pod tal...

Lesson: Services & Ingress

Module 7 — Kubernetes & Orchestration

What you'll learn Why Pod IPs are not enough, and how labels/selectors connect things. The Service types: ClusterIP, NodePort, and LoadBalancer. What an Ingress does and how it routes by hostname/path. How the lab exposes apps through its Kong gateway. Skill...

Lesson: ConfigMaps & Secrets

Module 7 — Kubernetes & Orchestration

What you'll learn Why configuration belongs outside your container image. How a ConfigMap stores non-secret settings, as env vars or mounted files. How a Secret stores sensitive values, and the base64 caveat. When to inject config as environment variables vs ...

Lesson: Volumes, PVs, PVCs & StorageClasses

Module 7 — Kubernetes & Orchestration

What you'll learn The difference between ephemeral storage that dies with a Pod and persistent storage that survives. What PersistentVolumes (PV), PersistentVolumeClaims (PVC), and StorageClasses are. Access modes RWO vs RWX and why they matter. Reclaim polic...

Assignment 1: Deploy a stateless app and expose it

Module 7 — Kubernetes & Orchestration

Goal: Deploy a stateless web app to the lab cluster as a Deployment, configure it with a ConfigMap, give it a stable internal address with a Service, and expose it on a hostname through the Kong ingress — the full stateless app chain. Where: From the Jumpbox, ...

Assignment 2: Run a stateful workload with a PVC

Module 7 — Kubernetes & Orchestration

Goal: Run a workload that keeps its data by claiming persistent storage from the lab's NFS StorageClass, and prove the data survives the Pod being deleted and rescheduled. Where: From the Jumpbox (kubectl/helm/k9s ready). Persistent storage comes from the NFS ...

Module 8 — CI/CD

Automate build→test→deploy: CI/CD concepts, GitHub Actions on the lab runner, Bitbucket Pipelines and Jenkins at a glance, and GitOps with Argo CD.

Lesson: Continuous Integration & Delivery

Module 8 — CI/CD

What you'll learn The difference between Continuous Integration (CI), Continuous Delivery, and Continuous Deployment — three terms that share the letters "CD" but mean different things. The standard stages of a pipeline (build → test → package → deploy) and w...

Lesson: Pipelines with GitHub Actions

Module 8 — CI/CD

What you'll learn The building blocks of GitHub Actions: workflows, jobs, steps, and runners — and how they nest. How triggers (the on: key) decide when a workflow runs. How to read and write a real workflow YAML file. How to build a container image and push ...

Lesson: Bitbucket Pipelines & Jenkins

Module 8 — CI/CD

What you'll learn What Bitbucket Pipelines is and how its YAML compares to GitHub Actions. The Jenkins server/agent model and what a "Jenkinsfile" pipeline looks like. When you'd reach for each tool, and the practical limitations and trade-offs of each versus...

Lesson: Pull-Based Deployment with Argo CD

Module 8 — CI/CD

What you'll learn The GitOps principle: Git as the single source of truth for what runs in your cluster. What an Argo CD Application is, what sync means, and how drift detection works. How pull-based deployment contrasts with the push-based CI you've seen so ...

Assignment 1: Build-and-push pipeline on the lab runner

Module 8 — CI/CD

Goal: Write a GitHub-Actions-style workflow that builds a container image from your app and pushes it to the lab's private registry, running for real on the lab's Gitea Actions runner. Where: A repository on the lab's Gitea server. The workflow executes on the...

Assignment 2: GitOps-deploy your app with Argo CD

Module 8 — CI/CD

Goal: Use Argo CD to deploy the image you built in Assignment 1 onto the lab's live Kubernetes cluster, the pull-based GitOps way — without ever running kubectl apply against production yourself. Where: A Git repo on the lab's Gitea server holds your Kubernete...

Module 9 — Infrastructure as Code

Define infrastructure in version-controlled files: Terraform (provisioning), Ansible (configuration), cloud-init (first-boot), and Pulumi — and when to use each.

Lesson: What Infrastructure as Code Means

Module 9 — Infrastructure as Code

What you'll learn The difference between configuring servers by hand and defining them in code. What "declarative" and "imperative" mean, and why declarative tools dominate IaC. Why idempotency and state matter, with plain-language definitions. The three jobs...