FastAPI 3-Tier (Day 2)
Nginx · FastAPI · MySQL 구성의 백엔드 앱
목차
구성
| 경로 | 설명 |
|---|---|
| app/main.py | FastAPI + pymysql 앱 |
Dockerfile | 이미지 빌드 |
requirements.txt | 의존성 |
fastapi-deploy.yaml | K8s Deployment |
fastapi-service.yaml | K8s Service |
동일 패턴이 day2-1216_day3-1217/fastapi, day3-1217/3-tier/fastapi 에도 있습니다.
환경 변수
앱은 다음 환경 변수를 사용합니다 (app/main.py).
| 변수 | 설명 |
|---|---|
MYSQL_HOST | DB 호스트 |
MYSQL_USER | 사용자 |
MYSQL_PASSWORD | 비밀번호 |
MYSQL_DB | 데이터베이스명 |
Deployment YAML의 env / Secret 으로 주입하세요.
배포
# 이미지 빌드 후 레지스트리 푸시 (환경에 맞게)
docker build -t <registry>/fastapi-app:latest .
kubectl apply -f fastapi-deploy.yaml
kubectl apply -f fastapi-service.yaml
상위 아키텍처: ARCHITECTURE · Day README