Repository for dip
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

5.3 KiB

Postgresql-HA 배포

1. 배포 방법

1) 배포시 주의 사항

  • 해당 차트 배포 시 postgresql.resource.limits.memory에 대한 설정을 반드시 해야한다. 설정하지 않을 시 배포가 되지 않는다.

2) 배포 방법

git clone https://github.com/paasup/service-catalog.git
cd charts/postgresql-ha
helm upgrade postgresql ./ -f custom-values.yaml  --install -n platform --create-namespace

2.custom-values.yaml 설명

  • custom-values.yaml에 정의된 값에 대한 설명이다.

1) 전역 설정

  • private 환경 배포시 사용한다.
Name 설명 기본값
global.imageRegistry 오프라인 설치 시에 설정.
paasup 설치시에는 "paasup.io"으로 설정
""

2) Postgresql 설정

  • 해당 차트의 기본 배포설정은 싱글 배포이다.
  • HA 배포를 원할 시 postgresql.replicaCount를 2이상으로 설정하고 pgpool에 대한 추가 설정이 필요하다.
Name 설명 기본값
postgresql.image.tag postgresql 실행 시 사용할 이미지의 tag를 설정.
helm 차트의 기본값을 사용. 버전 변경 시에는 차트 변경을 우선 고려하고 변경 불가 상황에서만 변경.
""
postgresql.username postgresql의 username 'postgres'
postgresql.password postgresql의 password 'postgres'
postgresql.repmgrUsername repmgr의 username 'postgres'
postgresql.repmgrPaasword repmgr의 password 'postgres'
postgresql.replicaCount postgresql pod에 대한 replicas 설정.
기본 값은 싱글 배포를 위해 1로 되어 있다. 2 이상 설정 시 ha 구성을 위하여 pgpool의 설정이 필요하다.
1
postgresql.maxConnections postgresql의 Maximum connections 설정 "100"
postgresql.sharedPreloadLibraries Shared preload libraries (comma-separated list) "repmgr, pgaudit, pg_stat_statements"
postgresql.initdbScripts initdb scripts. 예시는 custom-values.yaml 참고 {}
postgresql.extraEnvVars postgresql의 pod에 추가할 환경 변수.
기본 설정은 timezon 환경변수가 추가되어 있음
custom-values.yaml 참고
postgresql.resources postgresql의 pod의 cpu, memory 설정. custom-values.yaml 참고
postgresql.tolerations postgresql의 pod 배포를 위한 toleration. []
postgresql.nodeSelector postgresql의 pod가 배포되는 node 설정. {}

3) pgpool 설정

싱글 배포 시 설정(기본 설정)

Name 설명 기본값
pgpool.adminPassword pgpool의 관리자 패스워드. "postgresql"
pgpool.replicaCount pgpool pod에 대한 replica 수.
postgresql.replicaCount가 2 이상일 때, custom-values.yaml에서 replicaCount: 0을 주석처리하고 그 아래 있는 설정에 대한 주석을 해제한다.
0

HA 배포

  • postgresql.replicaCount가 2 이상일 때 사용한다. (기본은 주석처리되어 있음)
  • postgresql.maxConnections에 따라서 다음과 같이 설정한다.
    • pgpool.maxPool * pgpool.numInitChildren < postgresql.maxConnections
Name 설명 기본값
pgpool.adminPassword pgpool의 관리자 패스워드. "postgresql"
pgpool.replicaCount pgpool pod에 대한 replica 수.
custom-values.yaml에서 replicaCount: 0`을 주석처리하고
그 아래 있는 설정에 대한 주석을 해제한다.
2
pgpool.authenticationMethod pgpool authentication method. PSQL < 14일 때는 'md5'로 설정. "scram-sha-256"
postgresql.maxPool pgpool의 각 child 프로세스가 유지하는 Postgresql에 대한 최대 연결 수 4
postgresql.numInitChildren pgpool가 prefork하는 child 프로세스 수. 32
postgresql.resources pgpool의 pod의 cpu, memory 설정. custom-values.yaml 참고