Files
Tuto-Devops-A---Z/docs/DocK8.md

3.1 KiB
Raw Blame History

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 lhô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 nexiste pas à lorigine 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

Cest Docker qui gère ce pont entre ton système (Windows) et le conteneur (Linux), sans que tu aies besoin dun dossier physique prometheus dans le conteneur

Le nom prometheus dans le chemin cible na pas besoin dexister : cest 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 :

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 lerreur 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.