test
This commit is contained in:
commit
d725cec031
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
*.iml
|
||||||
|
|
||||||
|
.idea/
|
||||||
0
analytics/.gitkeep
Normal file
0
analytics/.gitkeep
Normal file
61
analytics/deployment.yml
Normal file
61
analytics/deployment.yml
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# analytics-deployment.yaml
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: analytics
|
||||||
|
namespace: ns-hiorder
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: analytics
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: analytics
|
||||||
|
spec:
|
||||||
|
enableServiceLinks: false
|
||||||
|
containers:
|
||||||
|
- name: analytics
|
||||||
|
image: acrdigitalgarage03.azurecr.io/hiorder/analytics:2506160200
|
||||||
|
ports:
|
||||||
|
- containerPort: 8084
|
||||||
|
env:
|
||||||
|
# Spring Boot 설정
|
||||||
|
- name: SPRING_PROFILES_ACTIVE
|
||||||
|
value: "common"
|
||||||
|
- name: JAVA_OPTS
|
||||||
|
value: "-Xms256m -Xmx512m"
|
||||||
|
# Redis 연결 설정 (다른 네임스페이스의 Redis 서비스)
|
||||||
|
- name: REDIS_HOST
|
||||||
|
value: "redis-service.ns-hiorder.svc.cluster.local"
|
||||||
|
- name: REDIS_PORT
|
||||||
|
value: "6379"
|
||||||
|
# Kubernetes 자동 환경변수 비활성화
|
||||||
|
- name: KUBERNETES_SERVICE_HOST
|
||||||
|
value: ""
|
||||||
|
- name: KUBERNETES_SERVICE_PORT
|
||||||
|
value: ""
|
||||||
|
- name: EXTERNAL_SERVICES_REVIEW
|
||||||
|
value: "http://review-service:8083"
|
||||||
|
- name: EXTERNAL_SERVICES_STORE
|
||||||
|
value: "http://store-service:8082"
|
||||||
|
- name: EXTERNAL_SERVICES_MEMBER
|
||||||
|
value: "http://member-service:8081"
|
||||||
|
- name: CLAUDE_API_KEY
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
name: hiorder-api-config
|
||||||
|
key: CLAUDE_API_KEY
|
||||||
|
- name: OPENAI_API_KEY
|
||||||
|
valueFrom:
|
||||||
|
configMapKeyRef:
|
||||||
|
name: hiorder-api-config
|
||||||
|
key: OPENAI_API_KEY
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "256Mi"
|
||||||
|
cpu: "125m"
|
||||||
|
limits:
|
||||||
|
memory: "512Mi"
|
||||||
|
cpu: "250m"
|
||||||
14
analytics/service.yml
Normal file
14
analytics/service.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: analytics-service
|
||||||
|
namespace: ns-hiorder
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- port: 8084
|
||||||
|
targetPort: 8084
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app: analytics
|
||||||
293
ingress/main-ingress.yml
Normal file
293
ingress/main-ingress.yml
Normal file
@ -0,0 +1,293 @@
|
|||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: hiorder-main-ingress
|
||||||
|
namespace: ns-hiorder
|
||||||
|
annotations:
|
||||||
|
# 기본 Ingress 설정
|
||||||
|
nginx.ingress.kubernetes.io/ssl-redirect: "true"
|
||||||
|
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
|
||||||
|
|
||||||
|
# SSL 인증서 자동 발급 (cert-manager)
|
||||||
|
cert-manager.io/cluster-issuer: "letsencrypt-prod"
|
||||||
|
|
||||||
|
# 파일 업로드 설정 (리뷰 서비스용)
|
||||||
|
nginx.ingress.kubernetes.io/proxy-body-size: "50m"
|
||||||
|
nginx.ingress.kubernetes.io/client-max-body-size: "50m"
|
||||||
|
|
||||||
|
# 타임아웃 설정 (외부 API 호출 고려)
|
||||||
|
nginx.ingress.kubernetes.io/proxy-connect-timeout: "300"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-send-timeout: "300"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-read-timeout: "300"
|
||||||
|
|
||||||
|
# Rate Limiting (v1.12.1 호환)
|
||||||
|
nginx.ingress.kubernetes.io/rate-limit-requests-per-second: "100"
|
||||||
|
nginx.ingress.kubernetes.io/rate-limit-connections: "200"
|
||||||
|
nginx.ingress.kubernetes.io/rate-limit-window: "1m"
|
||||||
|
|
||||||
|
# CORS 설정 (snippet 없이)
|
||||||
|
nginx.ingress.kubernetes.io/enable-cors: "true"
|
||||||
|
nginx.ingress.kubernetes.io/cors-allow-origin: "*"
|
||||||
|
nginx.ingress.kubernetes.io/cors-allow-methods: "GET, POST, PUT, DELETE, OPTIONS"
|
||||||
|
nginx.ingress.kubernetes.io/cors-allow-headers: "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization"
|
||||||
|
nginx.ingress.kubernetes.io/cors-max-age: "86400"
|
||||||
|
|
||||||
|
# 백엔드 프로토콜 설정
|
||||||
|
nginx.ingress.kubernetes.io/backend-protocol: "HTTP"
|
||||||
|
|
||||||
|
# 프록시 설정
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffering: "on"
|
||||||
|
nginx.ingress.kubernetes.io/proxy-buffer-size: "8k"
|
||||||
|
|
||||||
|
# 업스트림 해시 설정 (세션 어피니티)
|
||||||
|
nginx.ingress.kubernetes.io/upstream-hash-by: "$remote_addr"
|
||||||
|
|
||||||
|
spec:
|
||||||
|
ingressClassName: nginx
|
||||||
|
# tls:
|
||||||
|
# - secretName: hiorder-api-tls-secret
|
||||||
|
rules:
|
||||||
|
# - host: hiorder-api.20.249.191.180.nio.io
|
||||||
|
- http:
|
||||||
|
paths:
|
||||||
|
|
||||||
|
# ==============================================
|
||||||
|
# 📱 MEMBER SERVICE (회원 관리) - Port 8081
|
||||||
|
# ==============================================
|
||||||
|
# 인증 관련 API (최우선 순위)
|
||||||
|
- path: /api/auth
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: member-service
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
|
|
||||||
|
# 회원 관리 API
|
||||||
|
- path: /api/members/
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: member-service
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
|
|
||||||
|
# 구독 관리 API
|
||||||
|
- path: /api/subscriptions
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: member-service
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
|
|
||||||
|
# ==============================================
|
||||||
|
# 🏪 STORE SERVICE (매장 운영) - Port 8082
|
||||||
|
# ==============================================
|
||||||
|
# 매장 관리 API
|
||||||
|
- path: /api/stores
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: store-service
|
||||||
|
port:
|
||||||
|
number: 8082
|
||||||
|
|
||||||
|
# 메뉴 관리 API
|
||||||
|
- path: /api/menus
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: store-service
|
||||||
|
port:
|
||||||
|
number: 8082
|
||||||
|
|
||||||
|
# 외부 플랫폼 연동 API
|
||||||
|
- path: /api/external
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: store-service
|
||||||
|
port:
|
||||||
|
number: 8082
|
||||||
|
|
||||||
|
# ==============================================
|
||||||
|
# 📝 REVIEW SERVICE (리뷰 관리) - Port 8083
|
||||||
|
# ==============================================
|
||||||
|
# 리뷰 관리 API
|
||||||
|
- path: /api/reviews
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: review-service
|
||||||
|
port:
|
||||||
|
number: 8083
|
||||||
|
|
||||||
|
# 파일 업로드 API (이미지 업로드)
|
||||||
|
- path: /api/files
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: review-service
|
||||||
|
port:
|
||||||
|
number: 8083
|
||||||
|
|
||||||
|
# ==============================================
|
||||||
|
# 🤖 ANALYTICS SERVICE (AI 분석) - Port 8084
|
||||||
|
# ==============================================
|
||||||
|
# AI 분석 API
|
||||||
|
- path: /api/analytics
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: analytics-service
|
||||||
|
port:
|
||||||
|
number: 8084
|
||||||
|
|
||||||
|
# 실행 계획 API
|
||||||
|
- path: /api/action-plans
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: analytics-service
|
||||||
|
port:
|
||||||
|
number: 8084
|
||||||
|
|
||||||
|
# ==============================================
|
||||||
|
# 🎯 RECOMMEND SERVICE (취향 추천) - Port 8085
|
||||||
|
# ==============================================
|
||||||
|
# 추천 API
|
||||||
|
- path: /api/recommend
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: recommend-service
|
||||||
|
port:
|
||||||
|
number: 8085
|
||||||
|
|
||||||
|
# ==============================================
|
||||||
|
# 📚 SWAGGER UI & API DOCS (개발자 도구)
|
||||||
|
# ==============================================
|
||||||
|
# 통합 API 문서 (member-service 기본)
|
||||||
|
- path: /docs
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: member-service
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
|
|
||||||
|
# 각 서비스별 Swagger UI 직접 접근
|
||||||
|
- path: /docs/member
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: member-service
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
|
|
||||||
|
- path: /docs/store
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: store-service
|
||||||
|
port:
|
||||||
|
number: 8082
|
||||||
|
|
||||||
|
- path: /docs/review
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: review-service
|
||||||
|
port:
|
||||||
|
number: 8083
|
||||||
|
|
||||||
|
- path: /docs/analytics
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: analytics-service
|
||||||
|
port:
|
||||||
|
number: 8084
|
||||||
|
|
||||||
|
- path: /docs/recommend
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: recommend-service
|
||||||
|
port:
|
||||||
|
number: 8085
|
||||||
|
|
||||||
|
# ==============================================
|
||||||
|
# 💊 HEALTH CHECKS & MONITORING
|
||||||
|
# ==============================================
|
||||||
|
# 통합 헬스체크
|
||||||
|
- path: /health
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: member-service
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
|
|
||||||
|
# Spring Boot Actuator
|
||||||
|
- path: /actuator
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: member-service
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
|
|
||||||
|
# 개별 서비스 헬스체크 (필요시)
|
||||||
|
- path: /health/member
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: member-service
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
|
|
||||||
|
- path: /health/store
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: store-service
|
||||||
|
port:
|
||||||
|
number: 8082
|
||||||
|
|
||||||
|
- path: /health/review
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: review-service
|
||||||
|
port:
|
||||||
|
number: 8083
|
||||||
|
|
||||||
|
- path: /health/analytics
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: analytics-service
|
||||||
|
port:
|
||||||
|
number: 8084
|
||||||
|
|
||||||
|
- path: /health/recommend
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: recommend-service
|
||||||
|
port:
|
||||||
|
number: 8085
|
||||||
|
|
||||||
|
# ==============================================
|
||||||
|
# 🏠 DEFAULT ROOT PATH
|
||||||
|
# ==============================================
|
||||||
|
# 기본 경로 (API 상태 확인)
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: member-service
|
||||||
|
port:
|
||||||
|
number: 8081
|
||||||
0
member/.gitkeep
Normal file
0
member/.gitkeep
Normal file
45
member/deployment.yml
Normal file
45
member/deployment.yml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# member-deployment.yaml
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: member
|
||||||
|
namespace: ns-hiorder
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: member
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: member
|
||||||
|
spec:
|
||||||
|
enableServiceLinks: false
|
||||||
|
containers:
|
||||||
|
- name: member
|
||||||
|
image: acrdigitalgarage03.azurecr.io/hiorder/member:2506131312
|
||||||
|
ports:
|
||||||
|
- containerPort: 8081
|
||||||
|
env:
|
||||||
|
# Spring Boot 설정
|
||||||
|
- name: SPRING_PROFILES_ACTIVE
|
||||||
|
value: "common"
|
||||||
|
- name: JAVA_OPTS
|
||||||
|
value: "-Xms256m -Xmx512m"
|
||||||
|
# Redis 연결 설정 (다른 네임스페이스의 Redis 서비스)
|
||||||
|
- name: REDIS_HOST
|
||||||
|
value: "redis-service.ns-hiorder.svc.cluster.local"
|
||||||
|
- name: REDIS_PORT
|
||||||
|
value: "6379"
|
||||||
|
# Kubernetes 자동 환경변수 비활성화
|
||||||
|
- name: KUBERNETES_SERVICE_HOST
|
||||||
|
value: ""
|
||||||
|
- name: KUBERNETES_SERVICE_PORT
|
||||||
|
value: ""
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "256Mi"
|
||||||
|
cpu: "125m"
|
||||||
|
limits:
|
||||||
|
memory: "512Mi"
|
||||||
|
cpu: "250m"
|
||||||
14
member/service.yml
Normal file
14
member/service.yml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: member-service
|
||||||
|
namespace: ns-hiorder
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- port: 8081
|
||||||
|
targetPort: 8081
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app: member
|
||||||
0
recommend/.gitkeep
Normal file
0
recommend/.gitkeep
Normal file
45
recommend/deployment.yml
Normal file
45
recommend/deployment.yml
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
# recommend-deployment.yaml
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: recommend
|
||||||
|
namespace: ns-hiorder
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: recommend
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: recommend
|
||||||
|
spec:
|
||||||
|
enableServiceLinks: false
|
||||||
|
containers:
|
||||||
|
- name: recommend
|
||||||
|
image: acrdigitalgarage03.azurecr.io/hiorder/recommend:2506160213
|
||||||
|
ports:
|
||||||
|
- containerPort: 8085
|
||||||
|
env:
|
||||||
|
# Spring Boot 설정
|
||||||
|
- name: SPRING_PROFILES_ACTIVE
|
||||||
|
value: "common"
|
||||||
|
- name: JAVA_OPTS
|
||||||
|
value: "-Xms256m -Xmx512m"
|
||||||
|
# Redis 연결 설정 (다른 네임스페이스의 Redis 서비스)
|
||||||
|
- name: REDIS_HOST
|
||||||
|
value: "redis-service.ns-hiorder.svc.cluster.local"
|
||||||
|
- name: REDIS_PORT
|
||||||
|
value: "6379"
|
||||||
|
# Kubernetes 자동 환경변수 비활성화
|
||||||
|
- name: KUBERNETES_SERVICE_HOST
|
||||||
|
value: ""
|
||||||
|
- name: KUBERNETES_SERVICE_PORT
|
||||||
|
value: ""
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "256Mi"
|
||||||
|
cpu: "125m"
|
||||||
|
limits:
|
||||||
|
memory: "512Mi"
|
||||||
|
cpu: "250m"
|
||||||
18
recommend/service.yml
Normal file
18
recommend/service.yml
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# recommend-service.yaml
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: recommend-service
|
||||||
|
namespace: ns-hiorder
|
||||||
|
labels:
|
||||||
|
app: recommend
|
||||||
|
service: recommend
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- port: 8085
|
||||||
|
targetPort: 8085
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app: recommend
|
||||||
28
redis/deployment.yml
Normal file
28
redis/deployment.yml
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: redis
|
||||||
|
namespace: ns-hiorder
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: redis
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: redis
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: redis
|
||||||
|
image: acrdigitalgarage03.azurecr.io/hiorder/redis:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 6379
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "256Mi"
|
||||||
|
cpu: "250m"
|
||||||
|
limits:
|
||||||
|
memory: "512Mi"
|
||||||
|
cpu: "500m"
|
||||||
12
redis/service.yml
Normal file
12
redis/service.yml
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: redis-service
|
||||||
|
namespace: ns-hiorder
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: redis
|
||||||
|
ports:
|
||||||
|
- port: 6379
|
||||||
|
targetPort: 6379
|
||||||
|
type: ClusterIP
|
||||||
0
review/.gitkeep
Normal file
0
review/.gitkeep
Normal file
57
review/deployment.yml
Normal file
57
review/deployment.yml
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
# review-deployment.yaml
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: review
|
||||||
|
namespace: ns-hiorder
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: review
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: review
|
||||||
|
spec:
|
||||||
|
enableServiceLinks: false
|
||||||
|
containers:
|
||||||
|
- name: review
|
||||||
|
image: acrdigitalgarage03.azurecr.io/hiorder/review:2506160213
|
||||||
|
ports:
|
||||||
|
- containerPort: 8083
|
||||||
|
env:
|
||||||
|
# Spring Boot 설정
|
||||||
|
- name: SPRING_PROFILES_ACTIVE
|
||||||
|
value: "common"
|
||||||
|
- name: JAVA_OPTS
|
||||||
|
value: "-Xms512m -Xmx1024m"
|
||||||
|
# Redis 연결 설정
|
||||||
|
- name: REDIS_HOST
|
||||||
|
value: "redis-service.ns-hiorder.svc.cluster.local"
|
||||||
|
- name: REDIS_PORT
|
||||||
|
value: "6379"
|
||||||
|
# 파일 저장소 설정
|
||||||
|
- name: FILE_STORAGE_PATH
|
||||||
|
value: "/var/hiorder/uploads"
|
||||||
|
- name: MAX_FILE_SIZE
|
||||||
|
value: "10MB"
|
||||||
|
- name: MAX_REQUEST_SIZE
|
||||||
|
value: "50MB"
|
||||||
|
# JPA 설정
|
||||||
|
- name: JPA_DDL_AUTO
|
||||||
|
value: "update"
|
||||||
|
- name: JPA_SHOW_SQL
|
||||||
|
value: "false"
|
||||||
|
# Kubernetes 자동 환경변수 비활성화
|
||||||
|
- name: KUBERNETES_SERVICE_HOST
|
||||||
|
value: ""
|
||||||
|
- name: KUBERNETES_SERVICE_PORT
|
||||||
|
value: ""
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "512Mi"
|
||||||
|
cpu: "250m"
|
||||||
|
limits:
|
||||||
|
memory: "1024Mi"
|
||||||
|
cpu: "500m"
|
||||||
16
review/service.yml
Normal file
16
review/service.yml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: review-service
|
||||||
|
namespace: ns-hiorder
|
||||||
|
labels:
|
||||||
|
app: review
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- port: 8083
|
||||||
|
targetPort: 8083
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app: review
|
||||||
0
store/.gitkeep
Normal file
0
store/.gitkeep
Normal file
52
store/deployment.yml
Normal file
52
store/deployment.yml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
# store-deployment.yaml
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: store
|
||||||
|
namespace: ns-hiorder
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: store
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: store
|
||||||
|
spec:
|
||||||
|
enableServiceLinks: false
|
||||||
|
containers:
|
||||||
|
- name: store
|
||||||
|
image: acrdigitalgarage03.azurecr.io/hiorder/store:2506160225
|
||||||
|
ports:
|
||||||
|
- containerPort: 8082
|
||||||
|
env:
|
||||||
|
# Spring Boot 설정
|
||||||
|
- name: SPRING_PROFILES_ACTIVE
|
||||||
|
value: "common"
|
||||||
|
- name: JAVA_OPTS
|
||||||
|
value: "-Xms512m -Xmx1024m"
|
||||||
|
# Redis 연결 설정
|
||||||
|
- name: REDIS_HOST
|
||||||
|
value: "redis-service.ns-hiorder.svc.cluster.local"
|
||||||
|
- name: REDIS_PORT
|
||||||
|
value: "6379"
|
||||||
|
# JPA 설정
|
||||||
|
- name: JPA_DDL_AUTO
|
||||||
|
value: "update"
|
||||||
|
- name: JPA_SHOW_SQL
|
||||||
|
value: "false"
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "512Mi"
|
||||||
|
cpu: "250m"
|
||||||
|
limits:
|
||||||
|
memory: "1024Mi"
|
||||||
|
cpu: "500m"
|
||||||
|
securityContext:
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
runAsNonRoot: true
|
||||||
|
runAsUser: 1000
|
||||||
|
capabilities:
|
||||||
|
drop:
|
||||||
|
- ALL
|
||||||
16
store/service.yml
Normal file
16
store/service.yml
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: store-service
|
||||||
|
namespace: ns-hiorder
|
||||||
|
labels:
|
||||||
|
app: store
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- port: 8082
|
||||||
|
targetPort: 8082
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
selector:
|
||||||
|
app: store
|
||||||
14
web/configmap.yaml
Normal file
14
web/configmap.yaml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: frontend-config
|
||||||
|
namespace: ns-hiorder
|
||||||
|
data:
|
||||||
|
# External IP 기반으로 변경
|
||||||
|
AUTH_SERVICE_URL: "http://20.249.131.89:8081"
|
||||||
|
MEMBER_SERVICE_URL: "http://20.249.131.89:8081"
|
||||||
|
STORE_SERVICE_URL: "http://20.249.163.158:8082"
|
||||||
|
REVIEW_SERVICE_URL: "http://20.249.113.225:8083"
|
||||||
|
ANALYTICS_SERVICE_URL: "http://20.249.113.195:8084"
|
||||||
|
RECOMMEND_SERVICE_URL: "http://4.217.130.203:8085"
|
||||||
|
ENVIRONMENT: "production"
|
||||||
52
web/deployment.yaml
Normal file
52
web/deployment.yaml
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: frontend-deployment
|
||||||
|
namespace: ns-hiorder
|
||||||
|
labels:
|
||||||
|
app: frontend
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: frontend
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: frontend
|
||||||
|
spec:
|
||||||
|
enableServiceLinks: false # 👈 추가
|
||||||
|
containers:
|
||||||
|
- name: frontend
|
||||||
|
image: acrdigitalgarage03.azurecr.io/hiorder/frontend:2506160207
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: frontend-config
|
||||||
|
env:
|
||||||
|
- name: APP_VERSION
|
||||||
|
value: "1.0.0"
|
||||||
|
- name: KUBERNETES_SERVICE_HOST # 👈 추가
|
||||||
|
value: ""
|
||||||
|
- name: KUBERNETES_SERVICE_PORT # 👈 추가
|
||||||
|
value: ""
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "128Mi"
|
||||||
|
cpu: "100m"
|
||||||
|
limits:
|
||||||
|
memory: "256Mi"
|
||||||
|
cpu: "200m"
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: 80
|
||||||
|
initialDelaySeconds: 30
|
||||||
|
periodSeconds: 10
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
path: /health
|
||||||
|
port: 80
|
||||||
|
initialDelaySeconds: 5
|
||||||
|
periodSeconds: 5
|
||||||
15
web/service.yaml
Normal file
15
web/service.yaml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: frontend-service
|
||||||
|
namespace: ns-hiorder
|
||||||
|
labels:
|
||||||
|
app: frontend
|
||||||
|
spec:
|
||||||
|
type: LoadBalancer
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
targetPort: 80
|
||||||
|
protocol: TCP
|
||||||
|
selector:
|
||||||
|
app: frontend
|
||||||
Loading…
x
Reference in New Issue
Block a user