Actualiser TpDevOpsProject.md
This commit is contained in:
@@ -1,155 +1,149 @@
|
||||
#TP DevOps Corrigé par DeepSeek
|
||||
# TP DevOps
|
||||
|
||||
# ...et en cours de restructuration par Oualim (commentaires pour le futur pour tester une autre création à l'IA d'un tp, en tenant compte des manquements et des erreurs pour ne pas laisser l'IA les reproduire)
|
||||
...et en cours de restructuration par Oualim (commentaires pour le futur pour tester une autre création à l'IA d'un tp, en tenant compte des manquements et des erreurs pour ne pas laisser l'IA les reproduire)
|
||||
|
||||
Original pourrit: https://cloud.bonisco.fr/s/Cb2bFdLXeFEFcLm
|
||||
|
||||
# Commentaire de Oualim (Celui de Deepseek est juste un peu moins pourri mais c'était aussi de la merde)
|
||||
# Ce TP contient encore beaucoup de fautes sur les manips et fichiers et aucun sens sur la structure car l'IA a juste pris les mots clefs de "devops" sur internet, copié des fichiers et mélangé des concepts sans aucune présentation ni introduction ou explications (ex : correctif de l'ancien tp tout en bas :-/ ; terraform sur des docker ??? ; kub en faisant un doublon d'appli potentiellement conflictuel, aucune explication ni structure d'étape pour comprendre les logiques de docker et k8')
|
||||
> Commentaire de Oualim (Celui de Deepseek est juste un peu moins pourri mais c'était aussi de la merde)
|
||||
> Ce TP contient encore beaucoup de fautes sur les manips et fichiers et aucun sens sur la structure car l'IA a juste pris les mots clefs de "devops" sur internet, copié des fichiers et mélangé des concepts sans aucune présentation ni introduction ou explications (ex : correctif de l'ancien tp tout en bas :-/ ; terraform sur des docker ??? ; kub en faisant un doublon d'appli potentiellement conflictuel, aucune explication ni structure d'étape pour comprendre les logiques de docker et k8')
|
||||
|
||||
|
||||
#📚 RÉCAPITULATIF DES CORRECTIONS APPORTÉES
|
||||
#✅ Corrections majeures :
|
||||
Python : Ajout de Response dans les imports FastAPI
|
||||
|
||||
Docker Compose : Chemins corrigés, versions spécifiées
|
||||
|
||||
Kubernetes : Changé LoadBalancer → NodePort pour Windows
|
||||
|
||||
Image Docker : Tag :local au lieu de :latest pour K8s
|
||||
|
||||
Terraform : Suppression du provider Docker problématique
|
||||
|
||||
Scripts : Ajout de gestion d'erreurs robuste
|
||||
|
||||
Tests : Ajout de tests unitaires Python
|
||||
|
||||
Health checks : Ajout dans Docker Compose et K8s
|
||||
|
||||
|
||||
#🎯 Améliorations :
|
||||
Structure de projet logique et organisée
|
||||
|
||||
Scripts PowerShell avec paramètres et gestion d'erreurs
|
||||
|
||||
Configuration monitoring fonctionnelle
|
||||
|
||||
Documentation claire étape par étape
|
||||
|
||||
Solutions de dépannage incluses
|
||||
|
||||
Versionning spécifique des images Docker
|
||||
|
||||
|
||||
# Commentaire de Oualim
|
||||
# Ce TP permet pour l'instant, de réaliser le paysage de docker pour un débutant, de comprendre une organisation de dossiers et fichiers, de créer qq containeurs docker :
|
||||
# - http://localhost:8000 (App)
|
||||
# - http://localhost:8000/docs (Documentation API)
|
||||
# - http://localhost:9090 (Prometheus)
|
||||
# - http://localhost:3000 (Grafana - admin/admin123)
|
||||
# - http://localhost:9000 (Portainer)
|
||||
## ✅ Corrections majeures :
|
||||
* Python : Ajout de Response dans les imports FastAPI
|
||||
* Docker Compose : Chemins corrigés, versions spécifiées
|
||||
* Kubernetes : Changé LoadBalancer → NodePort pour Windows
|
||||
* Image Docker : Tag :local au lieu de :latest pour K8s
|
||||
* Terraform : Suppression du provider Docker problématique
|
||||
* Scripts : Ajout de gestion d'erreurs robuste
|
||||
* Tests : Ajout de tests unitaires Python
|
||||
* Health checks : Ajout dans Docker Compose et K8s
|
||||
|
||||
|
||||
## 🎯 Améliorations :
|
||||
* Structure de projet logique et organisée
|
||||
* Scripts PowerShell avec paramètres et gestion d'erreurs
|
||||
* Configuration monitoring fonctionnelle
|
||||
* Documentation claire étape par étape
|
||||
* Solutions de dépannage incluses
|
||||
* Versionning spécifique des images Docker
|
||||
|
||||
|
||||
> Commentaire de Oualim
|
||||
> Ce TP permet pour l'instant, de réaliser le paysage de docker pour un débutant, de comprendre une organisation de dossiers et fichiers, de créer qq containeurs docker :
|
||||
> - http://localhost:8000 (App)
|
||||
> - http://localhost:8000/docs (Documentation API)
|
||||
> - http://localhost:9090 (Prometheus)
|
||||
> - http://localhost:3000 (Grafana - admin/admin123)
|
||||
> - http://localhost:9000 (Portainer)
|
||||
|
||||
|
||||
# 🚀 TP DevOps Windows - Stack Complète Locale (Corrigé & Optimisé)
|
||||
#📋 PRÉ-REQUIS WINDOWS - Installation Pas à Pas
|
||||
#🔧 1. Préparation du système (PowerShell Administrateur)
|
||||
|
||||
# Ouvrir PowerShell en tant qu'ADMINISTRATEUR (clic droit → Exécuter en tant qu'administrateur)
|
||||
## 📋 PRÉ-REQUIS WINDOWS - Installation Pas à Pas
|
||||
|
||||
# 1. Activer les fonctionnalités Windows nécessaires
|
||||
### 🔧 1. Préparation du système (PowerShell Administrateur)
|
||||
|
||||
Ouvrir PowerShell en tant qu'ADMINISTRATEUR (clic droit → Exécuter en tant qu'administrateur)
|
||||
|
||||
1. Activer les fonctionnalités Windows nécessaires
|
||||
```
|
||||
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
|
||||
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
|
||||
|
||||
# 2. Installer WSL2 et Ubuntu
|
||||
```
|
||||
2. Installer WSL2 et Ubuntu
|
||||
```
|
||||
wsl --install -d Ubuntu-22.04
|
||||
|
||||
# 3. Définir WSL2 comme version par défaut
|
||||
```
|
||||
3. Définir WSL2 comme version par défaut
|
||||
```
|
||||
wsl --set-default-version 2
|
||||
|
||||
# 4. Redémarrer l'ordinateur (OBLIGATOIRE)
|
||||
```
|
||||
4. Redémarrer l'ordinateur (OBLIGATOIRE)
|
||||
```
|
||||
Restart-Computer
|
||||
#📥 2. Installation des outils (après redémarrage)
|
||||
```
|
||||
### 📥 2. Installation des outils (après redémarrage)
|
||||
|
||||
# 1. Installer Chocolatey (package manager Windows)
|
||||
1. Installer Chocolatey (package manager Windows)
|
||||
```
|
||||
Set-ExecutionPolicy Bypass -Scope Process -Force
|
||||
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
|
||||
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
||||
|
||||
# 2. Installer tous les outils
|
||||
```
|
||||
2. Installer tous les outils
|
||||
```
|
||||
choco install -y git docker-desktop vscode kubernetes-cli minikube terraform helm postman
|
||||
#🐧 3. Configuration WSL2 et Ubuntu
|
||||
|
||||
```
|
||||
3. Configuration WSL2 et Ubuntu
|
||||
```
|
||||
# Vérifier l'installation WSL
|
||||
wsl --list --verbose
|
||||
# Doit afficher : Ubuntu-22.04 Running 2
|
||||
```
|
||||
|
||||
# Entrer dans WSL pour configurer
|
||||
Entrer dans WSL pour configurer
|
||||
```
|
||||
wsl
|
||||
|
||||
# Dans le terminal Ubuntu WSL :
|
||||
```
|
||||
Dans le terminal Ubuntu WSL :
|
||||
```
|
||||
sudo apt update
|
||||
sudo apt upgrade -y
|
||||
sudo apt install -y python3 python3-pip python3-venv nodejs npm curl wget
|
||||
|
||||
# Créer un alias pratique
|
||||
```
|
||||
Créer un alias pratique
|
||||
```
|
||||
echo "alias k=kubectl" >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
exit # Retour à PowerShell
|
||||
#🐋 ÉTAPE 1 : CONFIGURATION DOCKER DESKTOP
|
||||
#⚙️ Configuration manuelle obligatoire :
|
||||
```
|
||||
|
||||
## 🐋 ÉTAPE 1 : CONFIGURATION DOCKER DESKTOP
|
||||
### ⚙️ Configuration manuelle obligatoire :
|
||||
Ouvrir Docker Desktop après installation
|
||||
|
||||
Settings → General :
|
||||
|
||||
✅ Use WSL 2 based engine
|
||||
|
||||
✅ Expose daemon on tcp://localhost:2375 without TLS
|
||||
|
||||
* ✅ Use WSL 2 based engine
|
||||
* ✅ Expose daemon on tcp://localhost:2375 without TLS
|
||||
Settings → Resources → WSL Integration :
|
||||
|
||||
✅ Enable integration with my default WSL distro
|
||||
|
||||
✅ Ubuntu-22.04
|
||||
|
||||
* ✅ Enable integration with my default WSL distro
|
||||
* ✅ Ubuntu-22.04
|
||||
Settings → Kubernetes :
|
||||
|
||||
✅ Enable Kubernetes
|
||||
|
||||
✅ Deploy Docker Stacks to Kubernetes by default
|
||||
* ✅ Enable Kubernetes
|
||||
* ✅ Deploy Docker Stacks to Kubernetes by default
|
||||
|
||||
Settings → Advanced :
|
||||
|
||||
CPUs : 4 (ou 50% de vos CPUs)
|
||||
|
||||
Memory : 4.0 GB (ou 50% de votre RAM)
|
||||
|
||||
Swap : 1.0 GB
|
||||
|
||||
* CPUs : 4 (ou 50% de vos CPUs)
|
||||
* Memory : 4.0 GB (ou 50% de votre RAM)
|
||||
* Swap : 1.0 GB
|
||||
Appliquer et redémarrer Docker Desktop
|
||||
|
||||
#✅ Vérification Docker/WSL2 :
|
||||
|
||||
### ✅ Vérification Docker/WSL2 :
|
||||
```
|
||||
# Dans PowerShell
|
||||
docker --version
|
||||
# Doit afficher : Docker version 24.0.x
|
||||
|
||||
docker run hello-world
|
||||
# Doit afficher "Hello from Docker!"
|
||||
|
||||
# Vérifier l'intégration WSL2
|
||||
```
|
||||
Vérifier l'intégration WSL2
|
||||
```
|
||||
wsl -d Ubuntu-22.04 -e docker version
|
||||
# Doit fonctionner sans erreur
|
||||
#📁 ÉTAPE 2 : STRUCTURE DU PROJET OPTIMISÉE
|
||||
#🗂️ Création de la structure :
|
||||
```
|
||||
Doit fonctionner sans erreur
|
||||
*📁 ÉTAPE 2 : STRUCTURE DU PROJET OPTIMISÉE
|
||||
*🗂️ Création de la structure :
|
||||
|
||||
# Créer le dossier principal
|
||||
Créer le dossier principal
|
||||
```
|
||||
mkdir C:\DevOpsProject
|
||||
cd C:\DevOpsProject
|
||||
```
|
||||
|
||||
# Structure ORGANISÉE et LOGIQUE
|
||||
Structure ORGANISÉE et LOGIQUE
|
||||
```
|
||||
New-Item -ItemType Directory -Path @(
|
||||
"src\app",
|
||||
"src\app\tests",
|
||||
@@ -163,8 +157,10 @@ New-Item -ItemType Directory -Path @(
|
||||
"docs",
|
||||
"config"
|
||||
)
|
||||
```
|
||||
|
||||
# Structure finale :
|
||||
Structure finale :
|
||||
```
|
||||
C:\DevOpsProject\
|
||||
├── src\ # Code source
|
||||
│ ├── app\ # Application Python
|
||||
@@ -177,6 +173,8 @@ C:\DevOpsProject\
|
||||
├── .github\workflows\ # CI/CD
|
||||
├── config\ # Fichiers de config
|
||||
└── docs\ # Documentation
|
||||
```
|
||||
|
||||
#🐍 ÉTAPE 3 : APPLICATION PYTHON CORRIGÉE
|
||||
#3.1 Fichier : src\app\requirements.txt
|
||||
|
||||
|
||||
Reference in New Issue
Block a user