Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions k8s-argocd/applications/dev/app/admin.yaml
Original file line number Diff line number Diff line change
@@ -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
42 changes: 42 additions & 0 deletions k8s-kustomize/base/admin/deployment.yaml
Original file line number Diff line number Diff line change
@@ -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
7 changes: 7 additions & 0 deletions k8s-kustomize/base/admin/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization

# 적용될 리소스
resources:
- deployment.yaml
- service.yaml
21 changes: 21 additions & 0 deletions k8s-kustomize/base/admin/service.yaml
Original file line number Diff line number Diff line change
@@ -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
19 changes: 19 additions & 0 deletions k8s-kustomize/overlays/dev/admin/deployment.yaml
Original file line number Diff line number Diff line change
@@ -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
26 changes: 26 additions & 0 deletions k8s-kustomize/overlays/dev/admin/httproute.yaml
Original file line number Diff line number Diff line change
@@ -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
27 changes: 27 additions & 0 deletions k8s-kustomize/overlays/dev/admin/kustomization.yaml
Original file line number Diff line number Diff line change
@@ -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