# ============================================================================= # WOOO TECH - Momo Pro System # PostgreSQL StatefulSet (優化版) # ============================================================================= apiVersion: apps/v1 kind: StatefulSet metadata: name: momo-postgres namespace: momo spec: serviceName: momo-postgres replicas: 1 selector: matchLabels: app: momo-postgres template: metadata: labels: app: momo-postgres spec: containers: - name: postgres image: postgres:15-alpine ports: - containerPort: 5432 env: - name: POSTGRES_USER valueFrom: secretKeyRef: name: momo-secrets key: POSTGRES_USER - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: momo-secrets key: POSTGRES_PASSWORD - name: POSTGRES_DB value: momo_analytics - name: PGDATA value: /var/lib/postgresql/data/pgdata # 資源配置 (優化版) resources: requests: memory: 512Mi cpu: 200m limits: memory: 2Gi cpu: 1000m # 健康檢查 (放寬設定) livenessProbe: exec: command: - pg_isready - -U - momo - -d - momo_analytics initialDelaySeconds: 60 periodSeconds: 60 timeoutSeconds: 15 failureThreshold: 5 successThreshold: 1 readinessProbe: exec: command: - pg_isready - -U - momo - -d - momo_analytics initialDelaySeconds: 15 periodSeconds: 20 timeoutSeconds: 10 failureThreshold: 3 successThreshold: 1 volumeMounts: - name: postgres-storage mountPath: /var/lib/postgresql/data volumeClaimTemplates: - metadata: name: postgres-storage spec: accessModes: ["ReadWriteOnce"] storageClassName: local-path resources: requests: storage: 10Gi --- apiVersion: v1 kind: Service metadata: name: momo-postgres namespace: momo spec: clusterIP: None ports: - port: 5432 selector: app: momo-postgres