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

64 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 :
- 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 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.