Projeto projet10-kubernetes-deploiements · Quando o Docker Desktop mostra « Create Kubernetes Cluster », propõe dois tipos de cluster: kind ou Kubeadm. Este documento explica a diferença e qual escolher para este curso.
| Critério | Kubeadm | kind |
|---|---|---|
| Significado | Ferramenta oficial de arranque de um cluster | Kubernetes in Docker |
| Número de nós | 1 só (single-node) | 1 a 10 (multi-nós possível) |
| Onde correm os nós | Diretamente na VM do Docker Desktop | Cada nó = um contentor Docker |
| Armazenamento das imagens | Partilhado com o motor Docker | Isolado (containerd próprio do kind) |
Imagem local (docker build) | Visível de imediato (imagePullPolicy: IfNotPresent) | Não visível → kind load docker-image <img> obrigatório |
| Simular uma avaria de nó | Não (um só nó) | Sim (pode-se parar um contentor-nó) |
| Velocidade / leveza | Muito rápido a arrancar | Rápido, mas uma etapa extra de carregamento de imagem |
| Ideal para | Aprender Pods / Deployments / Services sem atrito | Testar o multi-nós, o scheduling, a afinidade |
| Reinicialização | Reset do cluster | Alterar o número de nós reinicializa tudo |
O nosso projeto constrói uma imagem em local:
docker build -t demo-k8s:1.0 ./appe o deployment.yaml usa:
image: demo-k8s:1.0
imagePullPolicy: IfNotPresent # NÃO tenta descarregar de um registoO cluster partilha o motor Docker: a imagem demo-k8s:1.0 já está lá.
docker build -t demo-k8s:1.0 ./app
kubectl apply -f k8s/Senão os Pods ficam em ErrImagePull / ImagePullBackOff (o cluster não encontra a imagem).
docker build -t demo-k8s:1.0 ./app
kind load docker-image demo-k8s:1.0 # <-- indispensável com kind
kubectl apply -f k8s/A refazer a CADA reconstrução de imagem com kind. É o esquecimento n.º 1 que bloqueia os principiantes.
| O teu objetivo | Escolhe |
|---|---|
| Descobrir Pods, Deployments, Services, ConfigMap, scaling, rolling update | Kubeadm ⭐ |
| Mostrar um cluster multi-nós e a repartição dos Pods entre nós | kind (2 nós ou mais) |
Para este projeto, marca Kubeadm e depois Create.
Kubeadm.v1.34.1) serve.docker ps, o que sobrecarrega a vista).kubectl config use-context docker-desktop
kubectl get nodes # deve mostrar um nó ReadyEm caso de problema de acesso às imagens ou aos Pods, ver o anexo de resolução de problemas de 02-COMMANDES.md.
Curso criado pelo Dr. Haythem REHOUMA — Desenvolvimento e implantação de soluções de dados