From 860b8cc08faa1bbb8374bf49fc6a159a518753dd Mon Sep 17 00:00:00 2001 From: wonho Date: Thu, 23 Oct 2025 13:27:04 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B0=B1=ED=82=B9=EC=84=9C=EB=B9=84=EC=8A=A4?= =?UTF-8?q?=20=EB=B0=8F=20=EA=B0=9C=EB=B0=9C=20=EA=B4=80=EB=A0=A8=20?= =?UTF-8?q?=EB=94=94=EB=A0=89=ED=86=A0=EB=A6=AC=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../install/postgres/ai-external.yaml | 16 +++++ .../install/postgres/analytic-external.yaml | 16 +++++ .../install/postgres/content-external.yaml | 16 +++++ .../postgres/distribution-external.yaml | 16 +++++ .../install/postgres/event-external.yaml | 16 +++++ .../postgres/participation-external.yaml | 16 +++++ .../install/postgres/user-external.yaml | 16 +++++ .../install/postgres/values-ai.yaml | 61 +++++++++++++++++ .../install/postgres/values-analytic.yaml | 61 +++++++++++++++++ .../install/postgres/values-content.yaml | 61 +++++++++++++++++ .../install/postgres/values-distribution.yaml | 61 +++++++++++++++++ .../install/postgres/values-event.yaml | 61 +++++++++++++++++ .../postgres/values-participation.yaml | 61 +++++++++++++++++ .../install/postgres/values-user.yaml | 61 +++++++++++++++++ .../install/redis/redis-external.yaml | 20 ++++++ backing-service/install/redis/values.yaml | 68 +++++++++++++++++++ develop/database/exec/cache-exec-dev.md | 7 ++ develop/database/exec/db-exec-dev.md | 57 ++++++++++++++++ 18 files changed, 691 insertions(+) create mode 100644 backing-service/install/postgres/ai-external.yaml create mode 100644 backing-service/install/postgres/analytic-external.yaml create mode 100644 backing-service/install/postgres/content-external.yaml create mode 100644 backing-service/install/postgres/distribution-external.yaml create mode 100644 backing-service/install/postgres/event-external.yaml create mode 100644 backing-service/install/postgres/participation-external.yaml create mode 100644 backing-service/install/postgres/user-external.yaml create mode 100644 backing-service/install/postgres/values-ai.yaml create mode 100644 backing-service/install/postgres/values-analytic.yaml create mode 100644 backing-service/install/postgres/values-content.yaml create mode 100644 backing-service/install/postgres/values-distribution.yaml create mode 100644 backing-service/install/postgres/values-event.yaml create mode 100644 backing-service/install/postgres/values-participation.yaml create mode 100644 backing-service/install/postgres/values-user.yaml create mode 100644 backing-service/install/redis/redis-external.yaml create mode 100644 backing-service/install/redis/values.yaml create mode 100644 develop/database/exec/cache-exec-dev.md create mode 100644 develop/database/exec/db-exec-dev.md diff --git a/backing-service/install/postgres/ai-external.yaml b/backing-service/install/postgres/ai-external.yaml new file mode 100644 index 0000000..f4100c3 --- /dev/null +++ b/backing-service/install/postgres/ai-external.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: ai-postgresql-external +spec: + ports: + - name: tcp-postgresql + port: 5432 + protocol: TCP + targetPort: tcp-postgresql + selector: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: ai + app.kubernetes.io/name: postgresql + sessionAffinity: None + type: LoadBalancer diff --git a/backing-service/install/postgres/analytic-external.yaml b/backing-service/install/postgres/analytic-external.yaml new file mode 100644 index 0000000..f19eb2b --- /dev/null +++ b/backing-service/install/postgres/analytic-external.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: analytic-postgresql-external +spec: + ports: + - name: tcp-postgresql + port: 5432 + protocol: TCP + targetPort: tcp-postgresql + selector: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: analytic + app.kubernetes.io/name: postgresql + sessionAffinity: None + type: LoadBalancer diff --git a/backing-service/install/postgres/content-external.yaml b/backing-service/install/postgres/content-external.yaml new file mode 100644 index 0000000..caad307 --- /dev/null +++ b/backing-service/install/postgres/content-external.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: content-postgresql-external +spec: + ports: + - name: tcp-postgresql + port: 5432 + protocol: TCP + targetPort: tcp-postgresql + selector: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: content + app.kubernetes.io/name: postgresql + sessionAffinity: None + type: LoadBalancer diff --git a/backing-service/install/postgres/distribution-external.yaml b/backing-service/install/postgres/distribution-external.yaml new file mode 100644 index 0000000..4074b35 --- /dev/null +++ b/backing-service/install/postgres/distribution-external.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: distribution-postgresql-external +spec: + ports: + - name: tcp-postgresql + port: 5432 + protocol: TCP + targetPort: tcp-postgresql + selector: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: distribution + app.kubernetes.io/name: postgresql + sessionAffinity: None + type: LoadBalancer diff --git a/backing-service/install/postgres/event-external.yaml b/backing-service/install/postgres/event-external.yaml new file mode 100644 index 0000000..0a2dda5 --- /dev/null +++ b/backing-service/install/postgres/event-external.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: event-postgresql-external +spec: + ports: + - name: tcp-postgresql + port: 5432 + protocol: TCP + targetPort: tcp-postgresql + selector: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: event + app.kubernetes.io/name: postgresql + sessionAffinity: None + type: LoadBalancer diff --git a/backing-service/install/postgres/participation-external.yaml b/backing-service/install/postgres/participation-external.yaml new file mode 100644 index 0000000..045d4ca --- /dev/null +++ b/backing-service/install/postgres/participation-external.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: participation-postgresql-external +spec: + ports: + - name: tcp-postgresql + port: 5432 + protocol: TCP + targetPort: tcp-postgresql + selector: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: participation + app.kubernetes.io/name: postgresql + sessionAffinity: None + type: LoadBalancer diff --git a/backing-service/install/postgres/user-external.yaml b/backing-service/install/postgres/user-external.yaml new file mode 100644 index 0000000..b24968a --- /dev/null +++ b/backing-service/install/postgres/user-external.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: user-postgresql-external +spec: + ports: + - name: tcp-postgresql + port: 5432 + protocol: TCP + targetPort: tcp-postgresql + selector: + app.kubernetes.io/component: primary + app.kubernetes.io/instance: user + app.kubernetes.io/name: postgresql + sessionAffinity: None + type: LoadBalancer diff --git a/backing-service/install/postgres/values-ai.yaml b/backing-service/install/postgres/values-ai.yaml new file mode 100644 index 0000000..1b689f6 --- /dev/null +++ b/backing-service/install/postgres/values-ai.yaml @@ -0,0 +1,61 @@ +# PostgreSQL 아키텍처 설정 +architecture: standalone + +# 글로벌 설정 +global: + postgresql: + auth: + postgresPassword: "Hi5Jessica!" + replicationPassword: "Hi5Jessica!" + database: "aidb" + username: "eventuser" + password: "Hi5Jessica!" + storageClass: "managed-premium" + +# Primary 설정 +primary: + persistence: + enabled: true + storageClass: "managed-premium" + size: 10Gi + + resources: + limits: + memory: "4Gi" + cpu: "1" + requests: + memory: "2Gi" + cpu: "0.5" + + # 성능 최적화 설정 + extraEnvVars: + - name: POSTGRESQL_SHARED_BUFFERS + value: "1GB" + - name: POSTGRESQL_EFFECTIVE_CACHE_SIZE + value: "3GB" + - name: POSTGRESQL_MAX_CONNECTIONS + value: "200" + - name: POSTGRESQL_WORK_MEM + value: "16MB" + - name: POSTGRESQL_MAINTENANCE_WORK_MEM + value: "256MB" + + # 고가용성 설정 + podAntiAffinityPreset: soft + +# 네트워크 설정 +service: + type: ClusterIP + ports: + postgresql: 5432 + +# 보안 설정 +securityContext: + enabled: true + fsGroup: 1001 + runAsUser: 1001 + +# image: organization이 bitnami -> bitnamilegacy로 변경 +image: + registry: docker.io + repository: bitnamilegacy/postgresql diff --git a/backing-service/install/postgres/values-analytic.yaml b/backing-service/install/postgres/values-analytic.yaml new file mode 100644 index 0000000..e04c40a --- /dev/null +++ b/backing-service/install/postgres/values-analytic.yaml @@ -0,0 +1,61 @@ +# PostgreSQL 아키텍처 설정 +architecture: standalone + +# 글로벌 설정 +global: + postgresql: + auth: + postgresPassword: "Hi5Jessica!" + replicationPassword: "Hi5Jessica!" + database: "analyticdb" + username: "eventuser" + password: "Hi5Jessica!" + storageClass: "managed-premium" + +# Primary 설정 +primary: + persistence: + enabled: true + storageClass: "managed-premium" + size: 10Gi + + resources: + limits: + memory: "4Gi" + cpu: "1" + requests: + memory: "2Gi" + cpu: "0.5" + + # 성능 최적화 설정 + extraEnvVars: + - name: POSTGRESQL_SHARED_BUFFERS + value: "1GB" + - name: POSTGRESQL_EFFECTIVE_CACHE_SIZE + value: "3GB" + - name: POSTGRESQL_MAX_CONNECTIONS + value: "200" + - name: POSTGRESQL_WORK_MEM + value: "16MB" + - name: POSTGRESQL_MAINTENANCE_WORK_MEM + value: "256MB" + + # 고가용성 설정 + podAntiAffinityPreset: soft + +# 네트워크 설정 +service: + type: ClusterIP + ports: + postgresql: 5432 + +# 보안 설정 +securityContext: + enabled: true + fsGroup: 1001 + runAsUser: 1001 + +# image: organization이 bitnami -> bitnamilegacy로 변경 +image: + registry: docker.io + repository: bitnamilegacy/postgresql diff --git a/backing-service/install/postgres/values-content.yaml b/backing-service/install/postgres/values-content.yaml new file mode 100644 index 0000000..abcb7ed --- /dev/null +++ b/backing-service/install/postgres/values-content.yaml @@ -0,0 +1,61 @@ +# PostgreSQL 아키텍처 설정 +architecture: standalone + +# 글로벌 설정 +global: + postgresql: + auth: + postgresPassword: "Hi5Jessica!" + replicationPassword: "Hi5Jessica!" + database: "contentdb" + username: "eventuser" + password: "Hi5Jessica!" + storageClass: "managed-premium" + +# Primary 설정 +primary: + persistence: + enabled: true + storageClass: "managed-premium" + size: 10Gi + + resources: + limits: + memory: "4Gi" + cpu: "1" + requests: + memory: "2Gi" + cpu: "0.5" + + # 성능 최적화 설정 + extraEnvVars: + - name: POSTGRESQL_SHARED_BUFFERS + value: "1GB" + - name: POSTGRESQL_EFFECTIVE_CACHE_SIZE + value: "3GB" + - name: POSTGRESQL_MAX_CONNECTIONS + value: "200" + - name: POSTGRESQL_WORK_MEM + value: "16MB" + - name: POSTGRESQL_MAINTENANCE_WORK_MEM + value: "256MB" + + # 고가용성 설정 + podAntiAffinityPreset: soft + +# 네트워크 설정 +service: + type: ClusterIP + ports: + postgresql: 5432 + +# 보안 설정 +securityContext: + enabled: true + fsGroup: 1001 + runAsUser: 1001 + +# image: organization이 bitnami -> bitnamilegacy로 변경 +image: + registry: docker.io + repository: bitnamilegacy/postgresql diff --git a/backing-service/install/postgres/values-distribution.yaml b/backing-service/install/postgres/values-distribution.yaml new file mode 100644 index 0000000..34ac7c9 --- /dev/null +++ b/backing-service/install/postgres/values-distribution.yaml @@ -0,0 +1,61 @@ +# PostgreSQL 아키텍처 설정 +architecture: standalone + +# 글로벌 설정 +global: + postgresql: + auth: + postgresPassword: "Hi5Jessica!" + replicationPassword: "Hi5Jessica!" + database: "distributiondb" + username: "eventuser" + password: "Hi5Jessica!" + storageClass: "managed-premium" + +# Primary 설정 +primary: + persistence: + enabled: true + storageClass: "managed-premium" + size: 10Gi + + resources: + limits: + memory: "4Gi" + cpu: "1" + requests: + memory: "2Gi" + cpu: "0.5" + + # 성능 최적화 설정 + extraEnvVars: + - name: POSTGRESQL_SHARED_BUFFERS + value: "1GB" + - name: POSTGRESQL_EFFECTIVE_CACHE_SIZE + value: "3GB" + - name: POSTGRESQL_MAX_CONNECTIONS + value: "200" + - name: POSTGRESQL_WORK_MEM + value: "16MB" + - name: POSTGRESQL_MAINTENANCE_WORK_MEM + value: "256MB" + + # 고가용성 설정 + podAntiAffinityPreset: soft + +# 네트워크 설정 +service: + type: ClusterIP + ports: + postgresql: 5432 + +# 보안 설정 +securityContext: + enabled: true + fsGroup: 1001 + runAsUser: 1001 + +# image: organization이 bitnami -> bitnamilegacy로 변경 +image: + registry: docker.io + repository: bitnamilegacy/postgresql diff --git a/backing-service/install/postgres/values-event.yaml b/backing-service/install/postgres/values-event.yaml new file mode 100644 index 0000000..7c91989 --- /dev/null +++ b/backing-service/install/postgres/values-event.yaml @@ -0,0 +1,61 @@ +# PostgreSQL 아키텍처 설정 +architecture: standalone + +# 글로벌 설정 +global: + postgresql: + auth: + postgresPassword: "Hi5Jessica!" + replicationPassword: "Hi5Jessica!" + database: "eventdb" + username: "eventuser" + password: "Hi5Jessica!" + storageClass: "managed-premium" + +# Primary 설정 +primary: + persistence: + enabled: true + storageClass: "managed-premium" + size: 10Gi + + resources: + limits: + memory: "4Gi" + cpu: "1" + requests: + memory: "2Gi" + cpu: "0.5" + + # 성능 최적화 설정 + extraEnvVars: + - name: POSTGRESQL_SHARED_BUFFERS + value: "1GB" + - name: POSTGRESQL_EFFECTIVE_CACHE_SIZE + value: "3GB" + - name: POSTGRESQL_MAX_CONNECTIONS + value: "200" + - name: POSTGRESQL_WORK_MEM + value: "16MB" + - name: POSTGRESQL_MAINTENANCE_WORK_MEM + value: "256MB" + + # 고가용성 설정 + podAntiAffinityPreset: soft + +# 네트워크 설정 +service: + type: ClusterIP + ports: + postgresql: 5432 + +# 보안 설정 +securityContext: + enabled: true + fsGroup: 1001 + runAsUser: 1001 + +# image: organization이 bitnami -> bitnamilegacy로 변경 +image: + registry: docker.io + repository: bitnamilegacy/postgresql diff --git a/backing-service/install/postgres/values-participation.yaml b/backing-service/install/postgres/values-participation.yaml new file mode 100644 index 0000000..111401a --- /dev/null +++ b/backing-service/install/postgres/values-participation.yaml @@ -0,0 +1,61 @@ +# PostgreSQL 아키텍처 설정 +architecture: standalone + +# 글로벌 설정 +global: + postgresql: + auth: + postgresPassword: "Hi5Jessica!" + replicationPassword: "Hi5Jessica!" + database: "participationdb" + username: "eventuser" + password: "Hi5Jessica!" + storageClass: "managed-premium" + +# Primary 설정 +primary: + persistence: + enabled: true + storageClass: "managed-premium" + size: 10Gi + + resources: + limits: + memory: "4Gi" + cpu: "1" + requests: + memory: "2Gi" + cpu: "0.5" + + # 성능 최적화 설정 + extraEnvVars: + - name: POSTGRESQL_SHARED_BUFFERS + value: "1GB" + - name: POSTGRESQL_EFFECTIVE_CACHE_SIZE + value: "3GB" + - name: POSTGRESQL_MAX_CONNECTIONS + value: "200" + - name: POSTGRESQL_WORK_MEM + value: "16MB" + - name: POSTGRESQL_MAINTENANCE_WORK_MEM + value: "256MB" + + # 고가용성 설정 + podAntiAffinityPreset: soft + +# 네트워크 설정 +service: + type: ClusterIP + ports: + postgresql: 5432 + +# 보안 설정 +securityContext: + enabled: true + fsGroup: 1001 + runAsUser: 1001 + +# image: organization이 bitnami -> bitnamilegacy로 변경 +image: + registry: docker.io + repository: bitnamilegacy/postgresql diff --git a/backing-service/install/postgres/values-user.yaml b/backing-service/install/postgres/values-user.yaml new file mode 100644 index 0000000..665a2fa --- /dev/null +++ b/backing-service/install/postgres/values-user.yaml @@ -0,0 +1,61 @@ +# PostgreSQL 아키텍처 설정 +architecture: standalone + +# 글로벌 설정 +global: + postgresql: + auth: + postgresPassword: "Hi5Jessica!" + replicationPassword: "Hi5Jessica!" + database: "userdb" + username: "eventuser" + password: "Hi5Jessica!" + storageClass: "managed-premium" + +# Primary 설정 +primary: + persistence: + enabled: true + storageClass: "managed-premium" + size: 10Gi + + resources: + limits: + memory: "4Gi" + cpu: "1" + requests: + memory: "2Gi" + cpu: "0.5" + + # 성능 최적화 설정 + extraEnvVars: + - name: POSTGRESQL_SHARED_BUFFERS + value: "1GB" + - name: POSTGRESQL_EFFECTIVE_CACHE_SIZE + value: "3GB" + - name: POSTGRESQL_MAX_CONNECTIONS + value: "200" + - name: POSTGRESQL_WORK_MEM + value: "16MB" + - name: POSTGRESQL_MAINTENANCE_WORK_MEM + value: "256MB" + + # 고가용성 설정 + podAntiAffinityPreset: soft + +# 네트워크 설정 +service: + type: ClusterIP + ports: + postgresql: 5432 + +# 보안 설정 +securityContext: + enabled: true + fsGroup: 1001 + runAsUser: 1001 + +# image: organization이 bitnami -> bitnamilegacy로 변경 +image: + registry: docker.io + repository: bitnamilegacy/postgresql diff --git a/backing-service/install/redis/redis-external.yaml b/backing-service/install/redis/redis-external.yaml new file mode 100644 index 0000000..dfcb45c --- /dev/null +++ b/backing-service/install/redis/redis-external.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Service +metadata: + name: redis-external +spec: + ports: + - name: tcp-redis + port: 6379 + protocol: TCP + targetPort: redis + - name: tcp-sentinel + port: 26379 + protocol: TCP + targetPort: redis-sentinel + publishNotReadyAddresses: true + selector: + app.kubernetes.io/instance: redis + app.kubernetes.io/name: redis + sessionAffinity: None + type: LoadBalancer diff --git a/backing-service/install/redis/values.yaml b/backing-service/install/redis/values.yaml new file mode 100644 index 0000000..fac4d25 --- /dev/null +++ b/backing-service/install/redis/values.yaml @@ -0,0 +1,68 @@ +architecture: replication + +auth: + enabled: true + password: "Hi5Jessica!" + +master: + persistence: + enabled: true + storageClass: "managed" + size: 10Gi + + configuration: | + maxmemory 1610612736 + maxmemory-policy allkeys-lru + appendonly yes + appendfsync everysec + save 900 1 300 10 60 10000 + + resources: + limits: + memory: "2Gi" + cpu: "1" + requests: + memory: "1Gi" + cpu: "0.5" + +replica: + replicaCount: 2 + persistence: + enabled: true + storageClass: "managed" + size: 10Gi + configuration: | + maxmemory 1610612736 + maxmemory-policy allkeys-lru + resources: + limits: + memory: "2Gi" + cpu: "1" + requests: + memory: "1Gi" + cpu: "0.5" + +sentinel: + enabled: true + quorum: 2 + image: + registry: registry-1.docker.io + repository: bitnamilegacy/redis-sentinel + +service: + type: ClusterIP + ports: + redis: 6379 + +podAntiAffinityPreset: soft + +securityContext: + enabled: true + fsGroup: 1001 + runAsUser: 1001 + + +# image: organization이 bitnami -> bitnamilegacy로 변경 +image: + registry: registry-1.docker.io + repository: bitnamilegacy/redis diff --git a/develop/database/exec/cache-exec-dev.md b/develop/database/exec/cache-exec-dev.md new file mode 100644 index 0000000..c2194d4 --- /dev/null +++ b/develop/database/exec/cache-exec-dev.md @@ -0,0 +1,7 @@ +# 캐시 설치 결과서 (개발환경) + +## Redis 캐시 서버 +- DB 유형: Redis +- DB Host: 20.214.210.71 +- DB Port: 6379 +- DB Password: Hi5Jessica! diff --git a/develop/database/exec/db-exec-dev.md b/develop/database/exec/db-exec-dev.md new file mode 100644 index 0000000..d310e3e --- /dev/null +++ b/develop/database/exec/db-exec-dev.md @@ -0,0 +1,57 @@ +# 데이터베이스 설치 결과서 (개발환경) + +## 1. ai-service +- DB 유형: PostgreSQL +- DB Host: 4.230.112.141 +- DB Port: 5432 +- DB Username: eventuser +- DB Password: Hi5Jessica! +- DB Name: aidb + +## 2. analytic-service +- DB 유형: PostgreSQL +- DB Host: 4.230.49.9 +- DB Port: 5432 +- DB Username: eventuser +- DB Password: Hi5Jessica! +- DB Name: analyticdb + +## 3. content-service +- DB 유형: PostgreSQL +- DB Host: 4.217.131.139 +- DB Port: 5432 +- DB Username: eventuser +- DB Password: Hi5Jessica! +- DB Name: contentdb + +## 4. distribution-service +- DB 유형: PostgreSQL +- DB Host: 4.217.133.59 +- DB Port: 5432 +- DB Username: eventuser +- DB Password: Hi5Jessica! +- DB Name: distributiondb + +## 5. event-service +- DB 유형: PostgreSQL +- DB Host: 20.249.177.232 +- DB Port: 5432 +- DB Username: eventuser +- DB Password: Hi5Jessica! +- DB Name: eventdb + +## 6. participation-service +- DB 유형: PostgreSQL +- DB Host: 4.230.72.147 +- DB Port: 5432 +- DB Username: eventuser +- DB Password: Hi5Jessica! +- DB Name: participationdb + +## 7. user-service +- DB 유형: PostgreSQL +- DB Host: 20.249.125.115 +- DB Port: 5432 +- DB Username: eventuser +- DB Password: Hi5Jessica! +- DB Name: userdb