Project projet10-kubernetes-deploiements · When Docker Desktop displays “Create Kubernetes Cluster”, it offers two cluster types: kind or Kubeadm. This document explains the difference and which one to choose for this course.
| Criterion | Kubeadm | kind |
|---|---|---|
| Meaning | Official tool to bootstrap a cluster | Kubernetes in Docker |
| Number of nodes | 1 only (single-node) | 1 to 10 (multi-node possible) |
| Where the nodes run | Directly in the Docker Desktop VM | Each node = a Docker container |
| Image storage | Shared with the Docker engine | Isolated (containerd specific to kind) |
Local image (docker build) | Visible immediately (imagePullPolicy: IfNotPresent) | Not visible → kind load docker-image <img> required |
| Simulate a node failure | No (a single node) | Yes (you can stop a node-container) |
| Speed / lightness | Very fast to start | Fast, but one extra image-loading step |
| Ideal for | Learning Pods / Deployments / Services without friction | Testing multi-node, scheduling, affinity |
| Reset | Cluster reset | Changing the number of nodes resets everything |
Our project builds an image locally:
docker build -t demo-k8s:1.0 ./appand deployment.yaml uses:
image: demo-k8s:1.0
imagePullPolicy: IfNotPresent # does NOT try to download from a registryThe cluster shares the Docker engine: the image demo-k8s:1.0 is already there.
docker build -t demo-k8s:1.0 ./app
kubectl apply -f k8s/Otherwise the Pods stay in ErrImagePull / ImagePullBackOff (the cluster cannot find the image).
docker build -t demo-k8s:1.0 ./app
kind load docker-image demo-k8s:1.0 # <-- required with kind
kubectl apply -f k8s/To redo on EVERY image rebuild with kind. This is the #1 omission that blocks beginners.
| Your goal | Choose |
|---|---|
| Discover Pods, Deployments, Services, ConfigMap, scaling, rolling update | Kubeadm ⭐ |
| Show a multi-node cluster and the distribution of Pods across nodes | kind (2 nodes or more) |
For this project, check Kubeadm then Create.
Kubeadm.v1.34.1) is fine.docker ps, which clutters the view).kubectl config use-context docker-desktop
kubectl get nodes # must display a Ready nodeIf you have trouble accessing images or Pods, see the troubleshooting appendix of 02-COMMANDES.md.
Course created by Dr. Haythem REHOUMA — Development and Deployment of Data Solutions