--- # AI Service (Python) Deployment apiVersion: apps/v1 kind: Deployment metadata: name: ai-service namespace: hgzero labels: app: ai-service tier: backend language: python spec: replicas: 1 selector: matchLabels: app: ai-service template: metadata: labels: app: ai-service tier: backend language: python spec: containers: - name: ai-service image: acrdigitalgarage02.azurecr.io/hgzero/ai-service:latest imagePullPolicy: Always ports: - containerPort: 8087 name: http env: # 서버 설정 - name: PORT value: "8087" - name: HOST value: "0.0.0.0" - name: LOG_LEVEL value: "INFO" # Claude API - name: CLAUDE_API_KEY valueFrom: secretKeyRef: name: ai-secret key: claude-api-key - name: CLAUDE_MODEL value: "claude-3-5-sonnet-20241022" - name: CLAUDE_MAX_TOKENS value: "2000" - name: CLAUDE_TEMPERATURE value: "0.3" # Redis - name: REDIS_HOST valueFrom: configMapKeyRef: name: redis-config key: host - name: REDIS_PORT valueFrom: configMapKeyRef: name: redis-config key: port - name: REDIS_PASSWORD valueFrom: secretKeyRef: name: redis-secret key: password - name: REDIS_DB value: "4" # Azure Event Hub - name: EVENTHUB_CONNECTION_STRING valueFrom: secretKeyRef: name: azure-secret key: eventhub-ai-connection-string - name: EVENTHUB_NAME value: "hgzero-eventhub-name" - name: EVENTHUB_CONSUMER_GROUP value: "$Default" # CORS - name: CORS_ORIGINS value: '["*"]' resources: requests: cpu: 250m memory: 512Mi limits: cpu: 1000m memory: 1024Mi livenessProbe: httpGet: path: /health port: 8087 initialDelaySeconds: 30 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 readinessProbe: httpGet: path: /health port: 8087 initialDelaySeconds: 10 periodSeconds: 5 timeoutSeconds: 3 failureThreshold: 3 --- # AI Service Service apiVersion: v1 kind: Service metadata: name: ai-service namespace: hgzero labels: app: ai-service spec: type: ClusterIP ports: - port: 8087 targetPort: 8087 protocol: TCP name: http selector: app: ai-service