add manifest

This commit is contained in:
hiondal
2025-02-16 04:18:14 +09:00
parent 4d2bf7fb45
commit 7b0d5d4a75
169 changed files with 1005 additions and 21 deletions
+79
View File
@@ -0,0 +1,79 @@
#!/bin/bash
# Namespace 존재 여부 확인 후 생성
if ! kubectl get namespace lifesub-ns &> /dev/null; then
kubectl create namespace lifesub-ns
fi
# Namespace 전환
kubens lifesub-ns
# 각 서비스별 설정 및 배포
for service in member mysub recommend; do
# values 파일 생성
cat << EOF > values-${service}.yaml
# PostgreSQL 아키텍처 설정
architecture: standalone
# 글로벌 설정
global:
postgresql:
auth:
postgresPassword: "Passw0rd"
replicationPassword: "Passw0rd"
database: "${service}"
username: "admin"
password: "Passw0rd"
storageClass: "managed"
# Primary 설정
primary:
persistence:
enabled: true
storageClass: "managed"
size: 10Gi
resources:
limits:
memory: "1Gi"
cpu: "1"
requests:
memory: "0.5Gi"
cpu: "0.5"
# 네트워크 설정
service:
type: ClusterIP
ports:
postgresql: 5432
# 보안 설정
securityContext:
enabled: true
fsGroup: 1001
runAsUser: 1001
EOF
# Service 파일 생성
cat << EOF > svc-${service}.yaml
apiVersion: v1
kind: Service
metadata:
name: ${service}-external
spec:
ports:
- name: tcp-postgresql
port: 5432
protocol: TCP
targetPort: tcp-postgresql
selector:
app.kubernetes.io/component: primary
app.kubernetes.io/instance: ${service}
sessionAffinity: None
type: LoadBalancer
EOF
# Helm으로 PostgreSQL 설치
helm upgrade -i ${service} -f values-${service}.yaml bitnami/postgresql --version 14.3.2
# 외부 서비스 생성
kubectl apply -f svc-${service}.yaml
done
+89
View File
@@ -0,0 +1,89 @@
# PostgreSQL 아키텍처 설정
architecture: replication
# 글로벌 설정
global:
postgresql:
auth:
postgresPassword: "Passw0rd"
replicationPassword: "Passw0rd"
database: "member"
username: "admin"
password: "Passw0rd"
storageClass: "managed"
# Primary 설정
primary:
persistence:
enabled: true
storageClass: "managed"
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
# Secondary 설정
readReplicas:
replicaCount: 2
persistence:
enabled: true
storageClass: "managed"
size: 10Gi
resources:
limits:
memory: "2Gi"
cpu: "1"
requests:
memory: "1Gi"
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
+89
View File
@@ -0,0 +1,89 @@
# PostgreSQL 아키텍처 설정
architecture: replication
# 글로벌 설정
global:
postgresql:
auth:
postgresPassword: "Passw0rd"
replicationPassword: "Passw0rd"
database: "mysub"
username: "admin"
password: "Passw0rd"
storageClass: "managed"
# Primary 설정
primary:
persistence:
enabled: true
storageClass: "managed"
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
# Secondary 설정
readReplicas:
replicaCount: 2
persistence:
enabled: true
storageClass: "managed"
size: 10Gi
resources:
limits:
memory: "2Gi"
cpu: "1"
requests:
memory: "1Gi"
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
+89
View File
@@ -0,0 +1,89 @@
# PostgreSQL 아키텍처 설정
architecture: replication
# 글로벌 설정
global:
postgresql:
auth:
postgresPassword: "Passw0rd"
replicationPassword: "Passw0rd"
database: "recommend"
username: "admin"
password: "Passw0rd"
storageClass: "managed"
# Primary 설정
primary:
persistence:
enabled: true
storageClass: "managed"
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
# Secondary 설정
readReplicas:
replicaCount: 2
persistence:
enabled: true
storageClass: "managed"
size: 10Gi
resources:
limits:
memory: "2Gi"
cpu: "1"
requests:
memory: "1Gi"
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
+89
View File
@@ -0,0 +1,89 @@
# PostgreSQL 아키텍처 설정
architecture: replication
# 글로벌 설정
global:
postgresql:
auth:
postgresPassword: "Passw0rd"
replicationPassword: "Passw0rd"
database: "${DATABASE}"
username: "admin"
password: "Passw0rd"
storageClass: "managed"
# Primary 설정
primary:
persistence:
enabled: true
storageClass: "managed"
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
# Secondary 설정
readReplicas:
replicaCount: 2
persistence:
enabled: true
storageClass: "managed"
size: 10Gi
resources:
limits:
memory: "2Gi"
cpu: "1"
requests:
memory: "1Gi"
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