feat: dodaj Kubernetes manifeste za FastAPI + Postgres

This commit is contained in:
2026-05-24 09:41:00 +02:00
parent f01b8e1fcb
commit 6a962a0571
9 changed files with 174 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
namespace: student-bcbaceli
spec:
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- name: postgres
image: postgres:16-alpine
envFrom:
- secretRef:
name: postgres-secret # lozinke iz Secreta
ports:
- containerPort: 5432
volumeMounts:
- name: postgres-data
mountPath: /var/lib/postgresql/data
readinessProbe:
exec:
command: ["pg_isready", "-U", "fastapiuser", "-d", "fastapidb"]
initialDelaySeconds: 10
periodSeconds: 5
volumes:
- name: postgres-data
persistentVolumeClaim:
claimName: postgres-pvc # disk koji smo rezervirali

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: postgres-pvc
namespace: student-bcbaceli
spec:
accessModes:
- ReadWriteOnce # jedan node moze pisati u isto vrijeme
resources:
requests:
storage: 1Gi # 1 GB - dovoljno za vjezbu
storageClassName: local-path # k3s default storage class

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: postgres-service
namespace: student-bcbaceli
spec:
selector:
app: postgres
ports:
- port: 5432
targetPort: 5432
type: ClusterIP # dostupno samo unutar clustera