외부 데이터베이스를 사용하여 GitLab 차트 구성하기
프로덕션 환경에 적합한 GitLab 차트 배포를 위해 외부 데이터베이스를 사용하세요.
전제 조건:
- PostgreSQL 14 이상의 배포. 없는 경우 AWS RDS PostgreSQL나 GCP Cloud SQL과 같은 클라우드 제공 솔루션을 고려해 보세요. Self-Managed 솔루션을 사용하는 경우 the Linux package를 고려해 보세요.
- 기본적으로
gitlabhq_production
라는 빈 데이터베이스. - 전체 데이터베이스 액세스 권한을 갖는 사용자. 자세한 내용은 외부 데이터베이스 문서를 확인하세요.
- 데이터베이스 사용자의 비밀번호가 포함된 Kubernetes Secret가 필요합니다.
-
pg_trgm
및btree_gist
확장 기능. GitLab에 Superuser 플래그가 지정되지 않은 계정을 제공하지 않는 경우, 데이터베이스 설치 전에 이러한 확장 기능이 로드되어 있는지 확인하세요.
네트워킹 전제 조건:
- 클러스터에서 데이터베이스에 액세스할 수 있도록 합니다. 방화벽 정책이 트래픽을 허용하는지 확인하세요.
-
PostgreSQL을 로드 밸런싱 클러스터로 사용하고 Kubernetes DNS를 서비스 검색에 사용할 경우,
bitnami/postgresql
차트를 설치할 때--set slave.service.clusterIP=None
을 사용하세요. 이 설정은 PostgreSQL 보조 서비스를 헤드리스 서비스로 구성하여 각 보조 인스턴스에 대한 DNSA
레코드를 생성할 수 있도록 합니다.서비스 검색에 Kubernetes DNS를 사용하는 예제는
examples/database/values-loadbalancing-discover.yaml
를 참조하세요.
GitLab 차트를 외부 데이터베이스 사용으로 구성하려면:
-
다음 매개변수를 설정하세요:
-
postgresql.install
: 내장 데이터베이스 비활성화를 위해false
로 설정하세요. -
global.psql.host
: 외부 데이터베이스의 호스트명을 설정하세요. 도메인 또는 IP 주소가 될 수 있습니다. -
global.psql.password.secret
:gitlab
사용자의 데이터베이스 비밀번호가 포함된 시크릿의 이름을 설정하세요. -
global.psql.password.key
: 시크릿 내에서 비밀번호를 포함한 키를 설정하세요.
-
-
선택 사항. 다음 항목은 기본값을 사용하지 않는 경우 추가로 사용자화할 수 있습니다:
-
global.psql.port
: 데이터베이스가 사용 가능한 포트. 기본값은5432
입니다. -
global.psql.database
: 데이터베이스의 이름. -
global.psql.username
: 데이터베이스에 액세스 권한이 있는 사용자.
-
-
선택 사항. 데이터베이스에 상호 TLS 연결을 사용하는 경우 다음을 설정하세요:
-
global.psql.ssl.secret
: 클라이언트 인증서, 키 및 인증 기관이 포함된 시크릿. -
global.psql.ssl.serverCA
: 시크릿 내에서 인증 기관(CA)을 참조하는 키. -
global.psql.ssl.clientCertificate
: 시크릿 내에서 클라이언트 인증서를 참조하는 키. -
global.psql.ssl.clientKey
: 시크릿 내에서 클라이언트 키를 참조하는 키.
-
-
GitLab 차트를 배포할 때
--set
플래그를 사용하여 값을 추가하세요. 예를 들면:helm install gitlab gitlab/gitlab --set postgresql.install=false --set global.psql.host=psql.example --set global.psql.password.secret=gitlab-postgresql-password --set global.psql.password.key=postgres-password