Proyecto projet10-kubernetes-deploiements · Cuando Docker Desktop muestra « Create Kubernetes Cluster », propone dos tipos de clúster: kind o Kubeadm. Este documento explica la diferencia y cuál elegir para este curso.
| Criterio | Kubeadm | kind |
|---|---|---|
| Significado | Herramienta oficial para arrancar un clúster | Kubernetes in Docker |
| Número de nodos | 1 solo (single-node) | 1 a 10 (multi-nodo posible) |
| Dónde corren los nodos | Directamente en la VM de Docker Desktop | Cada nodo = un contenedor Docker |
| Almacén de imágenes | Compartido con el motor Docker | Aislado (containerd propio de kind) |
Imagen local (docker build) | Visible enseguida (imagePullPolicy: IfNotPresent) | No visible → kind load docker-image <img> obligatorio |
| Simular un fallo de nodo | No (un solo nodo) | Sí (se puede parar un contenedor-nodo) |
| Velocidad / ligereza | Arranque muy rápido | Rápido, pero con un paso extra de carga de imagen |
| Ideal para | Aprender Pods / Deployments / Services sin fricción | Probar el multi-nodo, el scheduling, la afinidad |
| Reinicio | Reset del clúster | Cambiar el número de nodos reinicia todo |
Nuestro proyecto construye una imagen en local:
docker build -t demo-k8s:1.0 ./appy el deployment.yaml usa:
image: demo-k8s:1.0
imagePullPolicy: IfNotPresent # NO intenta descargar desde un registroEl clúster comparte el motor Docker: la imagen demo-k8s:1.0 ya está ahí.
docker build -t demo-k8s:1.0 ./app
kubectl apply -f k8s/Si no, los Pods se quedan en ErrImagePull / ImagePullBackOff (el clúster no encuentra la imagen).
docker build -t demo-k8s:1.0 ./app
kind load docker-image demo-k8s:1.0 # <-- indispensable con kind
kubectl apply -f k8s/Hay que repetirlo en CADA reconstrucción de imagen con kind. Es el olvido n.º 1 que bloquea a los principiantes.
| Tu objetivo | Elige |
|---|---|
| Descubrir Pods, Deployments, Services, ConfigMap, scaling, rolling update | Kubeadm ⭐ |
| Mostrar un clúster multi-nodo y el reparto de Pods entre nodos | kind (2 nodos o más) |
Para este proyecto, marca Kubeadm y luego Create.
Kubeadm.v1.34.1) sirve.docker ps y saturan la vista).kubectl config use-context docker-desktop
kubectl get nodes # debe mostrar un nodo ReadySi hay un problema de acceso a las imágenes o a los Pods, ver el anexo de diagnóstico de 02-COMMANDES.md.
Curso creado por el Dr. Haythem REHOUMA — Desarrollo y despliegue de soluciones de datos