🛠 Cluster Kubernetes : quatre CM3+ sur une Turing Pi

Raspberry Pi Compute Module 3+ (CM3+ / CM3+ Lite) · avance · Schéma : une carte Turing Pi v1 avec quatre modules CM3+ insérés dans leurs connecteurs SODIMM, un câble Ethernet par nœud et un module d'alimentation, le tout piloté en Kubernetes (K3s).

Objetivos

El formato SODIMM del CM3+ permitió una familia de tarjetas de clúster: la Turing Pi v1 aloja cuatro módulos Compute Module (incluido el CM3+) con Ethernet, alimentación redundante y control de alimentación por nodo. La compilación de referencia es la de Jeff Geerling (repositorio geerlingguy/turing-pi-cluster, que lista explícitamente «Raspberry Pi Compute Module 3+ y HypriotOS»): cuatro nodos K3s. Este tutorial sigue el mismo procedimiento: flashear HypriotOS, arrancar los cuatro nodos, instalar K3s y realizar el despliegue multinodo.

Hardware

Código completo

# 1. Flasher HypriotOS (images Pi 3 compatibles CM3+) sur les 4 eMMC via usbboot
#    (un module à la fois en device-boot, comme pour tout CM à eMMC)
export HIPRIVE=192.168.1.0/24
flash --hostname node1 --addr 192.168.1.11 hypriotos-rpi-v1.8.0.img.zip

# 2. Installer K3s sur le serveur (node1), les agents rejoignent via token
#    Sur node1 :
curl -sfL https://get.k3s.io | sh -s - server --write-kubeconfig-mode 644
cat /var/lib/rancher/k3s/server/node-token

# 3. Sur node2-4 : rejoindre le cluster
curl -sfL https://get.k3s.io | K3S_URL=https://192.168.1.11:6443 \
  K3S_TOKEN=<token> sh -

# 4. Vérifier et déployer
kubectl get nodes -o wide
kubectl create deployment nginx --image=nginx --replicas=4
kubectl get pods -o wide    # les 4 pods doivent se répartir sur les 4 nœuds

Verificación esperada

kubectl get nodes lista 4 nodos en estado Ready (1 servidor + 3 agentes), cada uno con su IP estática de HypriotOS. El despliegue de nginx con 4 réplicas se distribuye entre los cuatro módulos, lo que demuestra que el clúster funciona. La Turing Pi permite apagar un nodo mediante su control de alimentación: el pod se reinicia en otro nodo en pocos segundos.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales