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: hostAliases: - ip: "10.42.0.1" hostnames: - keycloak.plfai.cn dnsConfig: options: - name: ndots value: "1" - name: timeout value: "3" - name: attempts value: "2" affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - k8smaster containers: - name: backend image: registry.plfai.cn/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" startupProbe: httpGet: path: /api/v1/health port: 8000 initialDelaySeconds: 30 periodSeconds: 10 failureThreshold: 60 livenessProbe: httpGet: path: /api/v1/health port: 8000 initialDelaySeconds: 0 periodSeconds: 30 failureThreshold: 3 readinessProbe: httpGet: path: /api/v1/health port: 8000 initialDelaySeconds: 0 periodSeconds: 10 volumes: - name: backend-data persistentVolumeClaim: claimName: backend-data-pvc - name: mineru-output persistentVolumeClaim: claimName: mineru-output-pvc