Skip to content

Lesson 1 ยท Deep dive - The local cluster (kind)

Get the code to run this lab

The commands on this page come from the repository, not the website. Clone it and enter this lesson's folder: git clone https://github.com/ld-singh/ai-factory-ops-lab && cd ai-factory-ops-lab/portfolio-lab/01-k8s-gpu-platform/kind. Browse this lesson on GitHub

Part of Lesson 1 - Kubernetes GPU Scheduling.

๐ŸŽฏ Objective: know what make phase1-up actually creates under the hood and why the cluster shape was chosen.

Local Kubernetes cluster for simulation mode. make phase1-up calls this for you, but you can create it directly:

kind create cluster --config kind-config.yaml

๐Ÿ’ก Why this shape: the config is one control-plane node and one real worker. The real worker hosts system pods (KWOK controller, CoreDNS). All the "GPU nodes" are KWOK fake nodes added afterward - they exist only as API objects, which is exactly the point: the scheduler treats nvidia.com/gpu as an opaque integer either way.

From the repo root: make phase1-up is idempotent - it skips creation if the cluster already exists (see ../scripts/setup-kind.sh).

๐Ÿ’ก kind vs k3d? Either works; kind is used here because KWOK examples and most scheduler-development workflows assume it. Swap freely if you prefer k3d.

โœ… Checkpoint: kubectl get nodes shows a control-plane node and one worker (the kwok-gpu-* nodes appear only after Step 1's later scripts run).

โžก๏ธ Back to: Lesson 1, Step 1.