# deployment/manifests/deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: restaurant-api labels: app: restaurant-api version: v1 spec: replicas: 1 selector: matchLabels: app: restaurant-api template: metadata: labels: app: restaurant-api version: v1 spec: imagePullSecrets: - name: acr-secret containers: - name: api image: acrdigitalgarage03.azurecr.io/restaurant-api:latest imagePullPolicy: Always ports: - containerPort: 18000 name: http # ConfigMap 환경 변수 envFrom: - configMapRef: name: restaurant-api-config # Secret 환경 변수 env: - name: KAKAO_API_KEY valueFrom: secretKeyRef: name: restaurant-api-secret key: KAKAO_API_KEY # 리소스 제한 resources: requests: memory: "512Mi" cpu: "250m" limits: memory: "1Gi" cpu: "500m" # 헬스 체크 livenessProbe: httpGet: path: /health port: 18000 initialDelaySeconds: 30 periodSeconds: 30 timeoutSeconds: 10 failureThreshold: 3 readinessProbe: httpGet: path: /health port: 18000 initialDelaySeconds: 10 periodSeconds: 10 timeoutSeconds: 5 failureThreshold: 3 # 볼륨 마운트 (데이터 저장용) volumeMounts: - name: data-volume mountPath: /app/data # 볼륨 정의 volumes: - name: data-volume emptyDir: {} restartPolicy: Always