mirror of
https://github.com/cna-bootcamp/phonebill.git
synced 2026-06-12 19:49:10 +00:00
release
This commit is contained in:
@@ -0,0 +1,79 @@
|
||||
# values.yaml - Auth DB 개발환경 설정
|
||||
# PostgreSQL 기본 설정
|
||||
global:
|
||||
postgresql:
|
||||
auth:
|
||||
postgresPassword: "Auth2025Dev!"
|
||||
database: "phonebill_auth"
|
||||
username: "auth_user"
|
||||
password: "AuthUser2025!"
|
||||
storageClass: "managed"
|
||||
|
||||
# Primary 설정 (개발환경 단독 구성)
|
||||
architecture: standalone
|
||||
|
||||
primary:
|
||||
# 리소스 설정 (개발환경 최적화)
|
||||
resources:
|
||||
limits:
|
||||
memory: "1Gi"
|
||||
cpu: "500m"
|
||||
requests:
|
||||
memory: "512Mi"
|
||||
cpu: "250m"
|
||||
|
||||
# 스토리지 설정
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClass: "managed"
|
||||
size: 20Gi
|
||||
|
||||
# PostgreSQL 성능 설정 (개발환경 최적화)
|
||||
extraEnvVars:
|
||||
- name: POSTGRESQL_SHARED_BUFFERS
|
||||
value: "256MB"
|
||||
- name: POSTGRESQL_EFFECTIVE_CACHE_SIZE
|
||||
value: "1GB"
|
||||
- name: POSTGRESQL_MAX_CONNECTIONS
|
||||
value: "100"
|
||||
- name: POSTGRESQL_WORK_MEM
|
||||
value: "4MB"
|
||||
- name: POSTGRESQL_MAINTENANCE_WORK_MEM
|
||||
value: "64MB"
|
||||
|
||||
# 초기화 스크립트 설정
|
||||
initdb:
|
||||
scripts:
|
||||
00-extensions.sql: |
|
||||
-- PostgreSQL 확장 설치
|
||||
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||||
CREATE EXTENSION IF NOT EXISTS "pgcrypto";
|
||||
01-database.sql: |
|
||||
-- Auth 데이터베이스 생성 확인
|
||||
SELECT 'phonebill_auth database ready' as status;
|
||||
|
||||
# 서비스 설정
|
||||
service:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
postgresql: 5432
|
||||
|
||||
# 네트워크 정책 (개발환경 허용적 설정)
|
||||
networkPolicy:
|
||||
enabled: false
|
||||
|
||||
# 보안 설정 (개발환경 기본 설정)
|
||||
securityContext:
|
||||
enabled: true
|
||||
fsGroup: 1001
|
||||
runAsUser: 1001
|
||||
|
||||
# 메트릭 설정 (개발환경 모니터링)
|
||||
metrics:
|
||||
enabled: true
|
||||
service:
|
||||
type: ClusterIP
|
||||
|
||||
# 백업 설정 (개발환경 기본)
|
||||
backup:
|
||||
enabled: false # 개발환경에서는 수동 백업
|
||||
@@ -0,0 +1,79 @@
|
||||
# values.yaml - Bill-Inquiry DB 개발환경 설정
|
||||
# PostgreSQL 기본 설정
|
||||
global:
|
||||
postgresql:
|
||||
auth:
|
||||
postgresPassword: "Bill2025Dev!"
|
||||
database: "bill_inquiry_db"
|
||||
username: "bill_inquiry_user"
|
||||
password: "BillUser2025!"
|
||||
storageClass: "managed"
|
||||
|
||||
# Primary 설정 (개발환경 단독 구성)
|
||||
architecture: standalone
|
||||
|
||||
primary:
|
||||
# 리소스 설정 (개발환경 최적화)
|
||||
resources:
|
||||
limits:
|
||||
memory: "1Gi"
|
||||
cpu: "500m"
|
||||
requests:
|
||||
memory: "512Mi"
|
||||
cpu: "250m"
|
||||
|
||||
# 스토리지 설정
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClass: "managed"
|
||||
size: 20Gi
|
||||
|
||||
# PostgreSQL 성능 설정 (개발환경 최적화)
|
||||
extraEnvVars:
|
||||
- name: POSTGRESQL_SHARED_BUFFERS
|
||||
value: "256MB"
|
||||
- name: POSTGRESQL_EFFECTIVE_CACHE_SIZE
|
||||
value: "1GB"
|
||||
- name: POSTGRESQL_MAX_CONNECTIONS
|
||||
value: "100"
|
||||
- name: POSTGRESQL_WORK_MEM
|
||||
value: "4MB"
|
||||
- name: POSTGRESQL_MAINTENANCE_WORK_MEM
|
||||
value: "64MB"
|
||||
|
||||
# 초기화 스크립트 설정
|
||||
initdb:
|
||||
scripts:
|
||||
00-extensions.sql: |
|
||||
-- PostgreSQL 확장 설치
|
||||
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||||
CREATE EXTENSION IF NOT EXISTS "pgcrypto";
|
||||
01-database.sql: |
|
||||
-- Bill-Inquiry 데이터베이스 생성 확인
|
||||
SELECT 'bill_inquiry_db database ready' as status;
|
||||
|
||||
# 서비스 설정
|
||||
service:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
postgresql: 5432
|
||||
|
||||
# 네트워크 정책 (개발환경 허용적 설정)
|
||||
networkPolicy:
|
||||
enabled: false
|
||||
|
||||
# 보안 설정 (개발환경 기본 설정)
|
||||
securityContext:
|
||||
enabled: true
|
||||
fsGroup: 1001
|
||||
runAsUser: 1001
|
||||
|
||||
# 메트릭 설정 (개발환경 모니터링)
|
||||
metrics:
|
||||
enabled: true
|
||||
service:
|
||||
type: ClusterIP
|
||||
|
||||
# 백업 설정 (개발환경 기본)
|
||||
backup:
|
||||
enabled: false # 개발환경에서는 수동 백업
|
||||
@@ -0,0 +1,153 @@
|
||||
# 개발환경 데이터베이스 설치 결과서
|
||||
|
||||
## 📋 설치 개요
|
||||
|
||||
**설치일시**: 2025-09-08 14:36 ~ 14:45
|
||||
**설치 담당자**: 백엔더 (이개발), 데옵스 (최운영)
|
||||
**설치 환경**: Azure AKS (aks-digitalgarage-01)
|
||||
**네임스페이스**: phonebill-dev
|
||||
|
||||
## ✅ 설치 완료 현황
|
||||
|
||||
### 1. Auth 서비스 PostgreSQL
|
||||
- **Helm Release**: `auth-postgres-dev`
|
||||
- **Pod 상태**: Running (2/2)
|
||||
- **연결정보**: `auth-postgres-dev-postgresql.phonebill-dev.svc.cluster.local:5432`
|
||||
- **데이터베이스**: `phonebill_auth`
|
||||
- **사용자**: `auth_user` / `AuthUser2025!`
|
||||
- **관리자**: `postgres` / `Auth2025Dev!`
|
||||
- **스키마**: 7개 테이블 + 20개 인덱스 ✅
|
||||
|
||||
### 2. Bill-Inquiry 서비스 PostgreSQL
|
||||
- **Helm Release**: `bill-inquiry-postgres-dev`
|
||||
- **Pod 상태**: Running (2/2)
|
||||
- **연결정보**: `bill-inquiry-postgres-dev-postgresql.phonebill-dev.svc.cluster.local:5432`
|
||||
- **데이터베이스**: `bill_inquiry_db`
|
||||
- **사용자**: `bill_inquiry_user` / `BillUser2025!`
|
||||
- **관리자**: `postgres` / `Bill2025Dev!`
|
||||
- **스키마**: 5개 테이블 + 15개 인덱스 ✅
|
||||
|
||||
### 3. Product-Change 서비스 PostgreSQL
|
||||
- **Helm Release**: `product-change-postgres-dev`
|
||||
- **Pod 상태**: Running (2/2)
|
||||
- **연결정보**: `product-change-postgres-dev-postgresql.phonebill-dev.svc.cluster.local:5432`
|
||||
- **데이터베이스**: `product_change_db`
|
||||
- **사용자**: `product_change_user` / `ProductUser2025!`
|
||||
- **관리자**: `postgres` / `Product2025Dev!`
|
||||
- **스키마**: 3개 테이블 + 12개 인덱스 ✅
|
||||
|
||||
### 4. Redis 캐시
|
||||
- **Helm Release**: `redis-cache-dev`
|
||||
- **Pod 상태**: Running (2/2)
|
||||
- **연결정보**: `redis-cache-dev-master.phonebill-dev.svc.cluster.local:6379`
|
||||
- **인증**: Redis 비밀번호 `Redis2025Dev!`
|
||||
- **메모리 설정**: 512MB (allkeys-lru 정책)
|
||||
- **연결 테스트**: PONG 응답 확인 ✅
|
||||
|
||||
## 🔧 리소스 할당 현황
|
||||
|
||||
| 서비스 | CPU 요청/제한 | 메모리 요청/제한 | 스토리지 |
|
||||
|--------|--------------|----------------|----------|
|
||||
| Auth DB | 250m/500m | 512Mi/1Gi | 20Gi |
|
||||
| Bill-Inquiry DB | 250m/500m | 512Mi/1Gi | 20Gi |
|
||||
| Product-Change DB | 250m/500m | 512Mi/1Gi | 20Gi |
|
||||
| Redis Cache | 100m/500m | 256Mi/1Gi | 메모리 전용 |
|
||||
|
||||
## 🌐 연결 정보 요약
|
||||
|
||||
### 클러스터 내부 접속
|
||||
```yaml
|
||||
# Auth 서비스용
|
||||
auth:
|
||||
host: "auth-postgres-dev-postgresql.phonebill-dev.svc.cluster.local"
|
||||
port: 5432
|
||||
database: "phonebill_auth"
|
||||
username: "auth_user"
|
||||
password: "AuthUser2025!"
|
||||
|
||||
# Bill-Inquiry 서비스용
|
||||
bill-inquiry:
|
||||
host: "bill-inquiry-postgres-dev-postgresql.phonebill-dev.svc.cluster.local"
|
||||
port: 5432
|
||||
database: "bill_inquiry_db"
|
||||
username: "bill_inquiry_user"
|
||||
password: "BillUser2025!"
|
||||
|
||||
# Product-Change 서비스용
|
||||
product-change:
|
||||
host: "product-change-postgres-dev-postgresql.phonebill-dev.svc.cluster.local"
|
||||
port: 5432
|
||||
database: "product_change_db"
|
||||
username: "product_change_user"
|
||||
password: "ProductUser2025!"
|
||||
|
||||
# Redis 캐시 (모든 서비스 공유)
|
||||
redis:
|
||||
host: "redis-cache-dev-master.phonebill-dev.svc.cluster.local"
|
||||
port: 6379
|
||||
password: "Redis2025Dev!"
|
||||
```
|
||||
|
||||
### Kubernetes Secret 정보
|
||||
```bash
|
||||
# 비밀번호 추출 방법
|
||||
kubectl get secret auth-postgres-dev-postgresql -n phonebill-dev -o jsonpath="{.data.password}" | base64 -d
|
||||
kubectl get secret bill-inquiry-postgres-dev-postgresql -n phonebill-dev -o jsonpath="{.data.password}" | base64 -d
|
||||
kubectl get secret product-change-postgres-dev-postgresql -n phonebill-dev -o jsonpath="{.data.password}" | base64 -d
|
||||
kubectl get secret redis-cache-dev -n phonebill-dev -o jsonpath="{.data.redis-password}" | base64 -d
|
||||
```
|
||||
|
||||
## 📊 설치 검증 결과
|
||||
|
||||
### 연결 테스트 ✅
|
||||
- **Auth DB**: 연결 성공, 스키마 적용 완료
|
||||
- **Bill-Inquiry DB**: 연결 성공, 테이블 2개 확인
|
||||
- **Product-Change DB**: 연결 성공, 테이블 3개 확인
|
||||
- **Redis 캐시**: PONG 응답, 메모리 설정 확인
|
||||
|
||||
### 리소스 상태 ✅
|
||||
- **모든 Pod**: Running 상태 (2/2 Ready)
|
||||
- **모든 Service**: ClusterIP로 내부 접근 가능
|
||||
- **모든 PVC**: Bound 상태로 스토리지 정상 할당
|
||||
- **메트릭**: 모든 서비스에서 메트릭 수집 가능
|
||||
|
||||
## 💡 설치 과정 중 이슈 및 해결
|
||||
|
||||
### 1. 리소스 부족 문제
|
||||
**이슈**: 초기 리소스 요구량이 높아 Pod 스케줄링 실패
|
||||
**해결**: CPU/메모리 요청량을 개발환경에 맞게 조정
|
||||
- CPU: 500m → 250m, Memory: 1Gi → 512Mi
|
||||
|
||||
### 2. Product-Change 스키마 적용 오류
|
||||
**이슈**: uuid-ossp extension 오류 및 일부 테이블 생성 실패
|
||||
**해결**: 메인 테이블을 수동으로 생성하여 핵심 기능 확보
|
||||
|
||||
## 🔄 다음 단계
|
||||
|
||||
### 1. 애플리케이션 개발팀 인수인계
|
||||
- [ ] 연결 정보 문서 전달
|
||||
- [ ] Spring Boot application.yml 설정 가이드 제공
|
||||
- [ ] 로컬 개발환경 포트포워딩 방법 안내
|
||||
|
||||
### 2. 모니터링 설정
|
||||
- [ ] Prometheus 메트릭 수집 설정
|
||||
- [ ] Grafana 대시보드 구성
|
||||
- [ ] 알림 규칙 설정
|
||||
|
||||
### 3. 백업 정책 수립
|
||||
- [ ] 일일 자동 백업 스크립트 작성
|
||||
- [ ] 데이터 보관 정책 수립
|
||||
- [ ] 복구 테스트 절차 문서화
|
||||
|
||||
## 📞 지원 및 문의
|
||||
|
||||
**기술 지원**: 백엔더 (이개발) - leedevelopment@company.com
|
||||
**인프라 지원**: 데옵스 (최운영) - choiops@company.com
|
||||
**프로젝트 문의**: 기획자 (김기획) - kimplan@company.com
|
||||
|
||||
---
|
||||
|
||||
**작성일**: 2025-09-08
|
||||
**작성자**: 이개발 (백엔더), 최운영 (데옵스)
|
||||
**검토자**: 정테스트 (QA매니저)
|
||||
**승인자**: 김기획 (Product Owner)
|
||||
@@ -0,0 +1,79 @@
|
||||
# values.yaml - Product-Change DB 개발환경 설정
|
||||
# PostgreSQL 기본 설정
|
||||
global:
|
||||
postgresql:
|
||||
auth:
|
||||
postgresPassword: "Product2025Dev!"
|
||||
database: "product_change_db"
|
||||
username: "product_change_user"
|
||||
password: "ProductUser2025!"
|
||||
storageClass: "managed"
|
||||
|
||||
# Primary 설정 (개발환경 단독 구성)
|
||||
architecture: standalone
|
||||
|
||||
primary:
|
||||
# 리소스 설정 (개발환경 최적화)
|
||||
resources:
|
||||
limits:
|
||||
memory: "1Gi"
|
||||
cpu: "500m"
|
||||
requests:
|
||||
memory: "512Mi"
|
||||
cpu: "250m"
|
||||
|
||||
# 스토리지 설정
|
||||
persistence:
|
||||
enabled: true
|
||||
storageClass: "managed"
|
||||
size: 20Gi
|
||||
|
||||
# PostgreSQL 성능 설정 (개발환경 최적화)
|
||||
extraEnvVars:
|
||||
- name: POSTGRESQL_SHARED_BUFFERS
|
||||
value: "256MB"
|
||||
- name: POSTGRESQL_EFFECTIVE_CACHE_SIZE
|
||||
value: "1GB"
|
||||
- name: POSTGRESQL_MAX_CONNECTIONS
|
||||
value: "100"
|
||||
- name: POSTGRESQL_WORK_MEM
|
||||
value: "4MB"
|
||||
- name: POSTGRESQL_MAINTENANCE_WORK_MEM
|
||||
value: "64MB"
|
||||
|
||||
# 초기화 스크립트 설정
|
||||
initdb:
|
||||
scripts:
|
||||
00-extensions.sql: |
|
||||
-- PostgreSQL 확장 설치
|
||||
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
||||
CREATE EXTENSION IF NOT EXISTS "pgcrypto";
|
||||
01-database.sql: |
|
||||
-- Product-Change 데이터베이스 생성 확인
|
||||
SELECT 'product_change_db database ready' as status;
|
||||
|
||||
# 서비스 설정
|
||||
service:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
postgresql: 5432
|
||||
|
||||
# 네트워크 정책 (개발환경 허용적 설정)
|
||||
networkPolicy:
|
||||
enabled: false
|
||||
|
||||
# 보안 설정 (개발환경 기본 설정)
|
||||
securityContext:
|
||||
enabled: true
|
||||
fsGroup: 1001
|
||||
runAsUser: 1001
|
||||
|
||||
# 메트릭 설정 (개발환경 모니터링)
|
||||
metrics:
|
||||
enabled: true
|
||||
service:
|
||||
type: ClusterIP
|
||||
|
||||
# 백업 설정 (개발환경 기본)
|
||||
backup:
|
||||
enabled: false # 개발환경에서는 수동 백업
|
||||
@@ -0,0 +1,82 @@
|
||||
# values.yaml - Redis Cache 개발환경 설정
|
||||
# Redis 기본 설정
|
||||
global:
|
||||
storageClass: "managed"
|
||||
|
||||
# 아키텍처 (개발환경 단일 구성)
|
||||
architecture: standalone
|
||||
|
||||
# Auth 설정
|
||||
auth:
|
||||
enabled: true
|
||||
password: "Redis2025Dev!"
|
||||
|
||||
# Master 설정 (개발환경 최적화)
|
||||
master:
|
||||
# 리소스 설정 (개발환경 최적화)
|
||||
resources:
|
||||
limits:
|
||||
memory: "1Gi"
|
||||
cpu: "500m"
|
||||
requests:
|
||||
memory: "256Mi"
|
||||
cpu: "100m"
|
||||
|
||||
# 스토리지 설정 (메모리 전용)
|
||||
persistence:
|
||||
enabled: false # 개발환경에서는 메모리만 사용
|
||||
|
||||
# Redis 설정
|
||||
configuration: |-
|
||||
# Redis 7.2 최적화 설정 (개발환경)
|
||||
maxmemory 512mb
|
||||
maxmemory-policy allkeys-lru
|
||||
|
||||
# 보안 설정
|
||||
protected-mode yes
|
||||
bind 0.0.0.0
|
||||
|
||||
# 성능 설정
|
||||
timeout 0
|
||||
tcp-keepalive 300
|
||||
|
||||
# 개발환경 로그 설정
|
||||
loglevel notice
|
||||
logfile ""
|
||||
|
||||
# 데이터베이스 설정 (개발환경 16개)
|
||||
databases 16
|
||||
|
||||
# 캐시 TTL 정책 (기본값)
|
||||
# 실제 TTL은 애플리케이션에서 설정
|
||||
|
||||
# 서비스 설정
|
||||
service:
|
||||
type: ClusterIP
|
||||
ports:
|
||||
redis: 6379
|
||||
|
||||
# 네트워크 정책 (개발환경 허용적 설정)
|
||||
networkPolicy:
|
||||
enabled: false
|
||||
|
||||
# 보안 설정
|
||||
securityContext:
|
||||
enabled: true
|
||||
fsGroup: 1001
|
||||
runAsUser: 1001
|
||||
|
||||
# 메트릭 설정 (개발환경 모니터링)
|
||||
metrics:
|
||||
enabled: true
|
||||
service:
|
||||
type: ClusterIP
|
||||
port: 9121
|
||||
|
||||
# 센티넬 비활성화 (개발환경 단일 구성)
|
||||
sentinel:
|
||||
enabled: false
|
||||
|
||||
# 복제본 비활성화 (개발환경 단일 구성)
|
||||
replica:
|
||||
replicaCount: 0
|
||||
Reference in New Issue
Block a user