# Fonctionnement de docker exemple : - ../config/prometheus.yml:/etc/prometheus/prometheus.yml:ro VS - '/etc/prometheus/alert_rules.yml' Dans Docker, les chemins comme ../config/prometheus.yml:/etc/prometheus/prometheus.yml:ro fonctionnent ainsi : - À gauche (../config/...) : chemin sur l’hôte (ton PC), relatif au fichier docker-compose.yml - À droite (/etc/prometheus/...) : chemin dans le conteneur Linux, où le fichier est accessible Même si le dossier /etc/prometheus n’existe pas à l’origine dans le conteneur, Docker le crée automatiquement lors du montage. ✅ Le fichier alert_rules.yml est monté dans le même dossier (/etc/prometheus/) → donc accessible via /etc/prometheus/alert_rules.yml C’est Docker qui gère ce pont entre ton système (Windows) et le conteneur (Linux), sans que tu aies besoin d’un dossier physique prometheus dans le conteneur ✅ Le nom prometheus dans le chemin cible n’a pas besoin d’exister : c’est juste un répertoire Linux standard pour les configs. # fonctionnement de kubern8s Les espaces de noms argocd et devops-demo ont été supprimés après le reset du cluster. ✅ Cet ordre suit les bonnes pratiques : Namespace → ConfigMap/Secret → Service → Deployment. les commandes à exécuter dans l'ordre après un reset de cluster pour éviter les erreurs : 1 - Créer les espaces de noms : - kubectl create namespace devops-demo - kubectl create namespace argocd 2 - Créer les ConfigMap et Secrets : - kubectl create configmap app-config -n devops-demo --from-literal=APP_NAME=devops-app - kubectl create secret tls nginx-tls -n devops-demo --cert="C:\DevOpsProject\config\certs\localhost.crt" --key="C:\DevOpsProject\config\certs\localhost.key" 3 - Appliquer les Services (dépendances des Deployments) : - kubectl apply -f C:\DevOpsProject\kubernetes\manifests\service.yaml -n devops-demo (sauf si les services sont inclus dans le fichier deployment) 4 - Appliquer les Deployments : - kubectl apply -f C:\DevOpsProject\kubernetes\manifests\deployment.yaml -n devops-demo 5 - Installer ArgoCD : - kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml 6 - Tester (par défaut OBLIGATOIRE après chaque redemarage) : - kubectl port-forward svc/argocd-server -n argocd 8080:443 (et laisser cette fenetre active OBLIGATOIRE sinon ça marche pas) - kubectl get secret argocd-initial-admin-secret -n argocd -o jsonpath="{.data.password}" | base64 --decode (dans un nouveau terminal et wsl) # erreur courantes sur windows : - les chemins exemple : - kubectl create secret tls nginx-tls -n devops-demo --cert=./certs/tls.crt --key=./certs/tls.key" ==> ❌ erreur Pourquoi l’erreur se produit : ./certs/tls.crt est un chemin relatif depuis votre répertoire actuel (C:\Users\W). Après un reset de cluster, les fichiers locaux ne sont pas restaurés automatiquement — seul l’état du cluster Kubernetes est effacé, pas vos fichiers sur disque. Les certificats que vous avez trouvés (localhost.crt et localhost.key) sont dans C:\DevOpsProject\config\certs, pas dans ./certs.