Mise en place d'ArgoCD : début du transfert des docker compose vers kubern8 ==> suppression du docker compose pour nginx (remplacer par nginx-proxy.yaml

This commit is contained in:
Waloshi6
2026-02-02 11:30:27 +01:00
parent 88a99c0be1
commit dcf530f6e2
33 changed files with 641 additions and 128 deletions

64
docs/DocK8.md Normal file
View File

@@ -0,0 +1,64 @@
# 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.

33
docs/ProcédureGit.md Normal file
View File

@@ -0,0 +1,33 @@
# Test rapide avant d'enregistrer :
- Redémarrer le docker principale
cd C:\DevOpsProject\docker\
docker-compose -f docker-compose.yml down --remove-orphans
docker-compose -f docker-compose.yml up -d
- Redémarrer les autres dockers
cd C:\DevOpsProject\scripts\
.\start_other_ctnrs.ps1
# Pour afficher tous les conteneurs Docker, ainsi que les nœuds et pods Kubernetes :
- Conteneurs Docker
docker ps -a
- Nœuds Kubernetes
kubectl get nodes
- Pods Kubernetes
kubectl get pods --all-namespaces
✅ Docker : Tous les services (ELK, Gitea, NGINX, base de données, monitoring) sont Up et fonctionnels.
✅ Kubernetes : Les nœuds sont Ready, les pods système sont Running.
# Pusher le projet modifié dans git :
- Aller dans le dossier du projet
- cliq droit "git bash here"
- "git add ."
- "git commit -m "détail des modifs"
- se connecter pour ouvrir l'accès ==> "url = https://git..." (url ==> C:\DevOpsProject\.git\config)
- "git push origin main"