# Kubernetes 部署

## 概述

Monetarie STA 部署在 GKE 集群上，使用 Traefik 作为 Ingress 控制器。

## 部署配置

```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: sta-backend
  namespace: sta
spec:
  replicas: 2
  selector:
    matchLabels:
      app: sta-backend
  template:
    metadata:
      labels:
        app: sta-backend
    spec:
      containers:
        - name: sta-backend
          image: southamerica-east1-docker.pkg.dev/fluxiqbr/monetarie/sta-backend:latest
          ports:
            - containerPort: 4000
          env:
            - name: DATABASE_URL
              valueFrom:
                secretKeyRef:
                  name: sta-secrets
                  key: database-url
```

## 服务

```yaml
apiVersion: v1
kind: Service
metadata:
  name: sta-backend
  namespace: sta
spec:
  selector:
    app: sta-backend
  ports:
    - port: 80
      targetPort: 4000
```

## 注意事项

- STA 命名空间有限制性 NetworkPolicy，必须包含 `purpose: ingress-controller`
- 使用 Cloud Build 构建时指定 `--machine-type=E2_HIGHCPU_8 --region=southamerica-east1`
