Ce module installe l’environnement nécessaire à toute la formation. À la fin, vous aurez un cluster Kubernetes local prêt à recevoir la stack d’observabilité.
Prérequis système
Section intitulée « Prérequis système »- RAM : 8 Go minimum (16 Go recommandés)
- CPU : 4 cœurs disponibles
- Disque : 20 Go libres
Installation
Section intitulée « Installation »curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectlrm kubectlkubectl version --clientMinikube
Section intitulée « Minikube »curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64sudo install minikube-linux-amd64 /usr/local/bin/minikuberm minikube-linux-amd64minikube versioncurl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bashhelm versionbrew install kubectlkubectl version --clientMinikube
Section intitulée « Minikube »brew install minikubeminikube versionbrew install helmhelm versionchoco install kubernetes-clikubectl version --clientMinikube
Section intitulée « Minikube »choco install minikubeminikube versionchoco install kubernetes-helmhelm versionVérification automatique
Section intitulée « Vérification automatique »Si vous avez cloné le dépôt, utilisez le script de vérification :
git clone https://github.com/stephrobert/lab-observability.gitcd lab-observabilitychmod +x 00-setup/verify.sh./00-setup/verify.shSortie attendue :
=== Vérification des prérequis ===
✅ minikube : minikube version: v1.37.0✅ kubectl : error: unknown flag: --short✅ helm : v4.1.0+g4553a0a✅ docker : Docker version 29.1.3, build f52814d
=== Vérification des ressources ===✅ RAM : 46 Go disponibles
✅ Tous les prérequis sont satisfaits !
Prochaine étape : minikube start --memory=10240 --cpus=4 --driver=dockerDémarrer Minikube
Section intitulée « Démarrer Minikube »Créez votre cluster avec suffisamment de ressources pour la formation :
minikube start \ --memory=10240 \ --cpus=4 \ --driver=docker \ --kubernetes-version=v1.32.0Vérifiez que le cluster fonctionne :
kubectl cluster-infokubectl get nodesSortie attendue :
Kubernetes control plane is running at https://192.168.49.2:8443CoreDNS is running at https://192.168.49.2:8443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
NAME STATUS ROLES AGE VERSIONminikube Ready control-plane 2m14s v1.32.0Configurer les addons utiles
Section intitulée « Configurer les addons utiles »Activez quelques addons qui faciliteront le travail :
# Metrics server (pour kubectl top)minikube addons enable metrics-server
# Dashboard Kubernetes (optionnel)minikube addons enable dashboard
# Ingress (pour exposer les services)minikube addons enable ingressVérifiez les addons actifs :
minikube addons list | grep enabledAjouter les repos Helm
Section intitulée « Ajouter les repos Helm »Ajoutez les repositories Helm nécessaires pour la formation :
# Prometheus Community (Prometheus, Alertmanager)helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
# Grafana (Grafana, Loki, Tempo)helm repo add grafana-community https://grafana-community.github.io/helm-charts
# OpenTelemetryhelm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
# Mettre à jour les reposhelm repo updateVérifiez :
helm repo listCréer les namespaces
Section intitulée « Créer les namespaces »Préparez les namespaces pour la formation :
# Namespace pour les outils d'observabilitékubectl create namespace observability
# Namespace pour l'application démokubectl create namespace otel-demoVérifiez :
kubectl get namespacesCommandes utiles à retenir
Section intitulée « Commandes utiles à retenir »| Commande | Description |
|---|---|
minikube start | Démarrer le cluster |
minikube stop | Arrêter (sans perdre les données) |
minikube delete | Supprimer (reset complet) |
minikube dashboard | Ouvrir le dashboard K8s |
minikube service <svc> -n <ns> | Ouvrir un service dans le navigateur |
minikube tunnel | Exposer les LoadBalancer |
Dépannage
Section intitulée « Dépannage »”Not enough memory”
Section intitulée « ”Not enough memory” »Réduisez la mémoire allouée (minimum 4 Go, mais 8 Go recommandés) :
minikube deleteminikube start --memory=4096 --cpus=2“Driver docker not found”
Section intitulée « “Driver docker not found” »Vérifiez que Docker est démarré :
docker psSi Docker tourne mais Minikube ne le trouve pas, ajoutez votre utilisateur au groupe docker :
sudo usermod -aG docker $USERnewgrp docker“kubectl connection refused”
Section intitulée « “kubectl connection refused” »Le cluster n’est pas démarré ou le contexte n’est pas bon :
minikube startkubectl config use-context minikubeValidation
Section intitulée « Validation »Avant de passer au module suivant, vérifiez que tout fonctionne :
# Cluster actifkubectl get nodes
# Namespaces crééskubectl get ns observability otel-demo
# Repos Helm configuréshelm repo list | grep -E "prometheus|grafana|open-telemetry"Si tout est vert, vous êtes prêt pour le module suivant.