From f4f605fc0861ff28f21e0592d87ad1552b94574d Mon Sep 17 00:00:00 2001 From: Mayne0213 Date: Thu, 25 Dec 2025 20:21:01 +0900 Subject: [PATCH] FEAT(app): add per-application ingress management - Added ingress.yaml for production environment - Updated kustomization file to include ingress resource - Migrated from centralized ingress management to per-app architecture --- deploy/k8s/overlays/prod/ingress.yaml | 43 +++++++++++++++++++++ deploy/k8s/overlays/prod/kustomization.yaml | 3 +- 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 deploy/k8s/overlays/prod/ingress.yaml diff --git a/deploy/k8s/overlays/prod/ingress.yaml b/deploy/k8s/overlays/prod/ingress.yaml new file mode 100644 index 0000000..f745e8b --- /dev/null +++ b/deploy/k8s/overlays/prod/ingress.yaml @@ -0,0 +1,43 @@ +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: mas-ingress + annotations: + nginx.ingress.kubernetes.io/ssl-redirect: "true" + cert-manager.io/cluster-issuer: "letsencrypt-prod" + # WebSocket 지원 (Chainlit UI에 필요) + nginx.ingress.kubernetes.io/websocket-services: "mas" + # 프록시 타임아웃 설정 (장시간 스트리밍 응답) + nginx.ingress.kubernetes.io/proxy-connect-timeout: "3600" + nginx.ingress.kubernetes.io/proxy-send-timeout: "3600" + nginx.ingress.kubernetes.io/proxy-read-timeout: "3600" + # 프록시 버퍼링 비활성화 (스트리밍 응답) + nginx.ingress.kubernetes.io/proxy-buffering: "off" +spec: + ingressClassName: haproxy + tls: + - hosts: + - mas0213.kro.kr + - www.mas0213.kro.kr + secretName: mas-tls + rules: + - host: mas0213.kro.kr + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: mas + port: + number: 8000 + - host: www.mas0213.kro.kr + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: mas + port: + number: 8000 diff --git a/deploy/k8s/overlays/prod/kustomization.yaml b/deploy/k8s/overlays/prod/kustomization.yaml index e0b0be2..79c0535 100644 --- a/deploy/k8s/overlays/prod/kustomization.yaml +++ b/deploy/k8s/overlays/prod/kustomization.yaml @@ -7,6 +7,7 @@ resources: - ../../base - resourcequota.yaml - externalsecret.yaml + - ingress.yaml commonLabels: environment: production @@ -14,5 +15,5 @@ commonLabels: # 이미지 태그 설정 (ArgoCD Image Updater가 자동으로 업데이트) images: - name: gitea0213.kro.kr/bluemayne/mas - newTag: main-sha-d37d2bf676f1f0e149fe3209b33786611d9271ce + newTag: main-sha-0a6ebdcd3a4c2113f6cb4ba40493566798d1c9e2