Hands-on lab assets for Advanced Kubernetes: Production-Scale Internals & the AI-Native Platform by School of DevOps & AI.
If docker pull works on your laptop but Pods fail with ImagePullBackOff and an x509: certificate signed by unknown authority error, preload the course images through host Docker:
bash labs/tools/preload-course-images.sh --pull-only
export COURSE_IMAGE_CACHE=1Then create or reuse the course cluster normally. The cluster scripts import the required images into containerd on every kind node:
bash labs/clusters/core-internals/create.shFor an already-running core cluster, you can pull and load all course images in one run:
export COURSE_IMAGE_CACHE=1
bash labs/tools/preload-course-images.sh \
--cluster kubeadv-core \
--scope allThis workaround requires host docker pull to succeed. It avoids registry access from inside kind; it does not install a corporate CA or proxy configuration.
Course content lives at https://schoolofdevops.github.io/304-kubeadv/ — start with the Setup section there. This repo is the only thing you clone:
git clone https://github.com/schoolofdevops/304-labs.git
cd 304-labsAll lab commands in the course run from this directory.
labs/
├── clusters/<profile>/ # cluster profiles — create.sh / verify.sh / teardown.sh
│ └── core-internals/ # M1–M2: kind, 1 control-plane + 1 worker, k8s v1.35
└── m<N>/ # per-module manifests + checks.json (automated lab checks)
- One cluster profile at a time. Every profile ships create/verify/teardown.
- Requirements: 8 GB RAM min (16 GB recommended), Rancher Desktop (Moby/dockerd engine), kind ≥ 0.32, kubectl ≥ 1.35, helm, kwok, cilium-cli, hubble, git — full install guide in the course Setup section.
- All images are multi-arch (Apple Silicon + x86-64). No GPU, no cloud account.