feat: 添加 Dockerfile、docker-compose 及 K8s kustomize 部署文件

This commit is contained in:
2026-06-15 16:49:35 +08:00
parent fd1bac551c
commit eeea55e9e4
18 changed files with 587 additions and 0 deletions
+62
View File
@@ -0,0 +1,62 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: backend
labels:
app: graphrag
component: backend
spec:
replicas: 1
selector:
matchLabels:
app: graphrag
component: backend
template:
metadata:
labels:
app: graphrag
component: backend
spec:
containers:
- name: backend
image: graphrag-backend:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8000
protocol: TCP
envFrom:
- configMapRef:
name: graphrag-config
- secretRef:
name: graphrag-secrets
volumeMounts:
- name: backend-data
mountPath: /app/backend/data
- name: mineru-output
mountPath: /app/mineru_mvp/output
resources:
requests:
memory: "512Mi"
cpu: "250m"
limits:
memory: "2Gi"
cpu: "1000m"
livenessProbe:
httpGet:
path: /api/v1/health
port: 8000
initialDelaySeconds: 20
periodSeconds: 30
readinessProbe:
httpGet:
path: /api/v1/health
port: 8000
initialDelaySeconds: 10
periodSeconds: 10
volumes:
- name: backend-data
persistentVolumeClaim:
claimName: backend-data-pvc
- name: mineru-output
persistentVolumeClaim:
claimName: mineru-output-pvc
+17
View File
@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: backend
labels:
app: graphrag
component: backend
spec:
type: ClusterIP
selector:
app: graphrag
component: backend
ports:
- name: http
port: 8000
targetPort: 8000
protocol: TCP
+45
View File
@@ -0,0 +1,45 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: frontend
labels:
app: graphrag
component: frontend
spec:
replicas: 1
selector:
matchLabels:
app: graphrag
component: frontend
template:
metadata:
labels:
app: graphrag
component: frontend
spec:
containers:
- name: frontend
image: graphrag-frontend:latest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 80
protocol: TCP
resources:
requests:
memory: "64Mi"
cpu: "100m"
limits:
memory: "256Mi"
cpu: "500m"
livenessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 5
periodSeconds: 30
readinessProbe:
httpGet:
path: /
port: 80
initialDelaySeconds: 3
periodSeconds: 10
+17
View File
@@ -0,0 +1,17 @@
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
app: graphrag
component: frontend
spec:
type: ClusterIP
selector:
app: graphrag
component: frontend
ports:
- name: http
port: 80
targetPort: 80
protocol: TCP
+9
View File
@@ -0,0 +1,9 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- backend-deployment.yaml
- backend-service.yaml
- frontend-deployment.yaml
- frontend-service.yaml
- persistent-volume-claims.yaml
+21
View File
@@ -0,0 +1,21 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: backend-data-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mineru-output-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi