# AI近视防控系统 - Kubernetes部署配置 apiVersion: apps/v1 kind: Deployment metadata: name: ai-myopia-prevention-backend namespace: ai-myopia labels: app: ai-myopia-prevention-backend spec: replicas: 3 selector: matchLabels: app: ai-myopia-prevention-backend template: metadata: labels: app: ai-myopia-prevention-backend spec: containers: - name: backend image: ai-myopia-prevention:latest ports: - containerPort: 8080 env: - name: DB_HOST value: "mysql-service" - name: DB_PORT value: "3306" - name: DB_USER value: "root" - name: DB_PASSWORD valueFrom: secretKeyRef: name: db-secret key: password - name: DB_NAME value: "myopia_db" - name: REDIS_HOST value: "redis-service" - name: REDIS_PORT value: "6379" - name: JWT_SECRET valueFrom: secretKeyRef: name: jwt-secret key: secret resources: requests: memory: "256Mi" cpu: "250m" limits: memory: "512Mi" cpu: "500m" livenessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 5 periodSeconds: 5 --- apiVersion: v1 kind: Service metadata: name: backend-service namespace: ai-myopia spec: selector: app: ai-myopia-prevention-backend ports: - protocol: TCP port: 80 targetPort: 8080 type: LoadBalancer --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: backend-ingress namespace: ai-myopia annotations: nginx.ingress.kubernetes.io/rewrite-target: / spec: rules: - host: api.myopia-prevention.com http: paths: - path: / pathType: Prefix backend: service: name: backend-service port: number: 80