Skip to content

Sadoune321/RepoAI

Repository files navigation

1️⃣ Préparer ton projet local

Structure des fichiers Exemple pour skin-api :

mlops2/ ├── main.py ├── requirements.txt ├── Dockerfile ├── docker-compose.yml ├── deployment.yaml └── README.md

main.py → ton API FastAPI

requirements.txt → dépendances Python

Dockerfile → construire l’image

docker-compose.yml → tester localement

deployment.yaml → déploiement Kubernetes

README.md → doc du projet

Initialiser Git

git init git add . git commit -m "Initial commit: API skeleton" git branch -M main git remote add origin https://github.com/Sadoune321/lung-colon-cancer-AI.git git push -u origin main 2️⃣ Construire et tester Docker localement

Pointer vers le Docker de Minikube

eval $(minikube -p minikube docker-env)

Construire l’image

docker build -t skin-api:latest .

Tester l’image localement avec Docker

docker run -p 8000:8000 skin-api:latest

→ Vérifie que ton API fonctionne sur http://localhost:8000.

3️⃣ Déployer sur Kubernetes (Minikube)

Vérifier que Minikube fonctionne

minikube start kubectl get nodes

Appliquer ton deployment.yaml

kubectl apply -f deployment.yaml

image: skin-api:latest → image locale

imagePullPolicy: IfNotPresent → pas besoin de Docker Hub

Créer un service NodePort (si pas déjà fait)

apiVersion: v1 kind: Service metadata: name: skin-api-service spec: selector: app: skin-api type: NodePort ports: - port: 8000 targetPort: 8000 nodePort: 32131 kubectl apply -f service.yaml

Vérifier les pods et service

kubectl get pods -w kubectl get services minikube service skin-api-service 4️⃣ Workflow pour modifications et mises à jour A. Modifier le code

main.py ou deployment.yaml, etc.

B. Tester localement

Docker : docker build -t skin-api:latest .

Docker run : docker run -p 8000:8000 skin-api:latest

C. Mettre à jour Kubernetes

Rebuild image si Dockerfile ou code changé

Appliquer deployment.yaml

kubectl apply -f deployment.yaml kubectl rollout status deployment/skin-api-deployment D. Pusher les changements sur GitHub git add . git commit -m "Update API / fix deployment" git push origin main 5️⃣ Gestion des images volumineuses

Ne jamais push les .pth ou images Docker sur GitHub.

Si besoin de partager modèle :

Utiliser Git LFS pour .pth (>100 MB)

Ou Docker Hub pour l’image entière

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors