From 1a2fecc5d0452c2cfda78f7f0fd6cf4ac645ab7b Mon Sep 17 00:00:00 2001 From: eedo_y Date: Tue, 21 Apr 2026 17:14:23 +0900 Subject: [PATCH] =?UTF-8?q?chore:=20=EC=96=B4=EB=93=9C=EB=AF=BC=20?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=A7=80=20=EB=B0=B0=ED=8F=AC=20(#66)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- k8s-argocd/applications/dev/app/admin.yaml | 49 +++++++++++++++++++ k8s-kustomize/base/admin/deployment.yaml | 42 ++++++++++++++++ k8s-kustomize/base/admin/kustomization.yaml | 7 +++ k8s-kustomize/base/admin/service.yaml | 21 ++++++++ .../overlays/dev/admin/deployment.yaml | 19 +++++++ .../overlays/dev/admin/httproute.yaml | 26 ++++++++++ .../overlays/dev/admin/kustomization.yaml | 27 ++++++++++ 7 files changed, 191 insertions(+) create mode 100644 k8s-argocd/applications/dev/app/admin.yaml create mode 100644 k8s-kustomize/base/admin/deployment.yaml create mode 100644 k8s-kustomize/base/admin/kustomization.yaml create mode 100644 k8s-kustomize/base/admin/service.yaml create mode 100644 k8s-kustomize/overlays/dev/admin/deployment.yaml create mode 100644 k8s-kustomize/overlays/dev/admin/httproute.yaml create mode 100644 k8s-kustomize/overlays/dev/admin/kustomization.yaml diff --git a/k8s-argocd/applications/dev/app/admin.yaml b/k8s-argocd/applications/dev/app/admin.yaml new file mode 100644 index 0000000..7bdf2e7 --- /dev/null +++ b/k8s-argocd/applications/dev/app/admin.yaml @@ -0,0 +1,49 @@ +# =================================== +# Dev Frontend +# =================================== + +apiVersion: argoproj.io/v1alpha1 +kind: Application + +# 기본 정보 +metadata: + name: admin-dev + namespace: argocd + labels: + pinhouse.co.kr/environment: dev + pinhouse.co.kr/image-updater: enabled + finalizers: + - resources-finalizer.argocd.argoproj.io + annotations: + argocd-image-updater.argoproj.io/image-list: frontend=asia-northeast3-docker.pkg.dev/dev-pinhouse/pinhouse-dev-admin/pinhouse-admin + argocd-image-updater.argoproj.io/frontend.update-strategy: newest-build + argocd-image-updater.argoproj.io/frontend.allow-tags: regexp:^[0-9]{8}_[0-9]{6}-[a-f0-9]{7}$ + argocd-image-updater.argoproj.io/frontend.kustomize.image-name: REPLACE_ME + argocd-image-updater.argoproj.io/write-back-method: git + argocd-image-updater.argoproj.io/git-branch: main + + notifications.argoproj.io/subscribe.on-deployed.frontend-nonprod: "" + notifications.argoproj.io/subscribe.on-sync-failed.frontend-nonprod: "" + notifications.argoproj.io/subscribe.on-health-degraded.frontend-nonprod: "" + +spec: + project: default + + # Git 저장소에서 관리하는 매니페스트 경로입니다. + source: + repoURL: https://github.com/PinHouse/PinHouse_CLOUD + targetRevision: main + path: k8s-kustomize/overlays/dev/admin + + # 배포 대상 클러스터와 네임스페이스입니다. + destination: + server: https://kubernetes.default.svc + namespace: app + + # Git 기준으로 자동 동기화합니다. + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/k8s-kustomize/base/admin/deployment.yaml b/k8s-kustomize/base/admin/deployment.yaml new file mode 100644 index 0000000..6305777 --- /dev/null +++ b/k8s-kustomize/base/admin/deployment.yaml @@ -0,0 +1,42 @@ +apiVersion: apps/v1 +kind: Deployment + +# 기본 정보 +metadata: + name: pinhouse-admin + +# 스펙 +spec: + replicas: 2 + # RS 최근 3개 버전만 보관 + revisionHistoryLimit: 3 + + # 배포 전략: Zero-downtime Rolling Update + strategy: + type: RollingUpdate + rollingUpdate: + maxUnavailable: 0 # 삭제 되는 Pod 수 + maxSurge: 1 # 업데이트를 위해서 1개의 Pod 추가 + + # 셀렉터 + selector: + matchLabels: + app: admin + + # 라벨 + template: + metadata: + labels: + app: admin + + # 컨테이너 스펙 + spec: + containers: + - name: pinhouse-admin + + # 수정될 이미지 + image: REPLACE_ME + ports: + - name: http + containerPort: 3000 + protocol: TCP diff --git a/k8s-kustomize/base/admin/kustomization.yaml b/k8s-kustomize/base/admin/kustomization.yaml new file mode 100644 index 0000000..9e8be50 --- /dev/null +++ b/k8s-kustomize/base/admin/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +# 적용될 리소스 +resources: + - deployment.yaml + - service.yaml diff --git a/k8s-kustomize/base/admin/service.yaml b/k8s-kustomize/base/admin/service.yaml new file mode 100644 index 0000000..4bcd889 --- /dev/null +++ b/k8s-kustomize/base/admin/service.yaml @@ -0,0 +1,21 @@ +apiVersion: v1 +kind: Service + +# 기본 정보 +metadata: + name: admin-service + +# 스펙 +spec: + type: ClusterIP + + # 라벨 셀렉터 + selector: + app: admin + + # 포트 및 타겟 포트 + ports: + - name: http + protocol: TCP + port: 80 + targetPort: http diff --git a/k8s-kustomize/overlays/dev/admin/deployment.yaml b/k8s-kustomize/overlays/dev/admin/deployment.yaml new file mode 100644 index 0000000..63a2f27 --- /dev/null +++ b/k8s-kustomize/overlays/dev/admin/deployment.yaml @@ -0,0 +1,19 @@ +apiVersion: apps/v1 +kind: Deployment + +# 기본 설정 +metadata: + name: pinhouse-admin + +# 스펙 +spec: + replicas: 2 + + template: + metadata: + labels: + environment: dev + + spec: + containers: + - name: pinhouse-admin diff --git a/k8s-kustomize/overlays/dev/admin/httproute.yaml b/k8s-kustomize/overlays/dev/admin/httproute.yaml new file mode 100644 index 0000000..b493fd8 --- /dev/null +++ b/k8s-kustomize/overlays/dev/admin/httproute.yaml @@ -0,0 +1,26 @@ +apiVersion: gateway.networking.k8s.io/v1 +kind: HTTPRoute + +# 기본 설정 +metadata: + name: admin + +# 스펙 +spec: + parentRefs: + - name: pinhouse-gateway + namespace: nginx-gateway + + # 도메인 명 + hostnames: + - "admin.dev.pinhouse.co.kr" + + # 참조 규칙 + rules: + - matches: + - path: + type: PathPrefix + value: / + backendRefs: + - name: admin-service-dev + port: 80 diff --git a/k8s-kustomize/overlays/dev/admin/kustomization.yaml b/k8s-kustomize/overlays/dev/admin/kustomization.yaml new file mode 100644 index 0000000..e3cb0ff --- /dev/null +++ b/k8s-kustomize/overlays/dev/admin/kustomization.yaml @@ -0,0 +1,27 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +# 네임 스페이스 +namespace: app + +resources: + - ../../../base/admin + - httproute.yaml + +nameSuffix: -dev + +# 이미지 수정 +# ArgoCD Image Updater가 자동으로 newTag를 업데이트 +images: + - name: REPLACE_ME + newName: asia-northeast3-docker.pkg.dev/dev-pinhouse/pinhouse-dev-admin/pinhouse-admin + newTag: latest + +# overlays 수정내용 반영 +patches: + - path: deployment.yaml + target: + group: apps + version: v1 + kind: Deployment + name: pinhouse-admin