First commit

This commit is contained in:
Johan
2025-12-19 10:07:55 +01:00
commit 0a1abf97f1
17 changed files with 2313 additions and 0 deletions

33
k8s/deploiement.yaml Normal file
View File

@@ -0,0 +1,33 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-world-app-deploy
spec:
replicas: 1
selector:
matchLabels:
app: hello-world-app
template:
metadata:
labels:
app: hello-world-app
spec:
containers:
- name: hello-world-app-conteneur
# C'est l'image que vous avez buildée localement
image: hello-world-app:1.0
# Très important : indique à K8s de ne PAS essayer de télécharger l'image
imagePullPolicy: IfNotPresent
ports:
# Le port sur lequel notre app (Uvicorn) écoute DANS le conteneur
- containerPort: 8000
env:
# Définit une variable d'environnement pour le conteneur
- name: SECRET_KEY
valueFrom:
# Indique de prendre la valeur depuis un objet Secret
secretKeyRef:
# Le nom du secret créé à l'étape 1
name: hello-world-secret
# La clé spécifique à utiliser dans ce secret
key: SECRET_KEY

16
k8s/service.yaml Normal file
View File

@@ -0,0 +1,16 @@
apiVersion: v1
kind: Service
metadata:
name: hello-world-app-service
spec:
# LoadBalancer expose le service sur une IP externe (localhost sur Docker Desktop)
type: LoadBalancer
selector:
# Cible tous les pods ayant l'étiquette "app: hello-world-app"
app: hello-world-app
ports:
- protocol: TCP
# Le port sur lequel le service est exposé sur votre machine physique (celui de votre navigateur)
port: 8080
# Le port sur lequel le trafic doit être envoyé (le port de votre conteneur)
targetPort: 8000