mirror of
https://github.com/cna-bootcamp/lifesub.git
synced 2026-06-13 04:59:10 +00:00
add manifest
This commit is contained in:
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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
|
||||
Reference in New Issue
Block a user