독립형 PostgreSQL 데이터베이스 설정
우리는 Ubuntu용 Linux 패키지를 사용할 것입니다. 이 패키지는 차트의 서비스와 호환되는 것으로 보장되는 서비스 버전을 제공합니다.
Linux 패키지로 VM 설정
원하시는 제공업체나 로컬에 VM을 생성하세요. 이 작업은 VirtualBox, KVM, 그리고 Bhyve에서 테스트되었습니다. 클러스터에서 해당 인스턴스에 연결할 수 있는지 확인하세요.
생성한 VM에 Ubuntu Server를 설치하세요. openssh-server
가 설치되어 있는지, 그리고 모든 패키지가 최신 상태인지 확인하세요.
네트워크 설정과 호스트명을 구성하세요. 호스트명/IP를 메모하고, Kubernetes 클러스터에서 해결되고 도달 가능한지 확인하세요.
트래픽을 허용하는 방화벽 정책이 적용되었는지 확인하세요.
Linux 패키지 설치 지침에 따르세요. 패키지를 설치할 때 EXTERNAL_URL= 값을 제공하지 마세요. 다음 단계에서 매우 구체적인 구성을 제공할 것이기 때문에 자동 구성이 발생하지 않도록 합니다.
Linux 패키지 설치 구성
/etc/gitlab/gitlab.rb
에 위치할 최소한의 gitlab.rb
파일을 작성하세요. 이 노드에서 사용할 설정에 대해 매우 명확하게 작성하고 있으니 아래 내용을 참고하세요.
참고: 이 예시는 스케일링을 위한 PostgreSQL을 제공하지 않습니다.
노트: 아래 값은 대체되어야 합니다.
-
DB_USERNAME
기본 사용자 이름은gitlab
-
DB_PASSSWORD
인코딩되지 않은 값 -
DB_ENCODED_PASSWORD
DB_PASSWORD
를 실제 값으로 대체하여 생성 가능합니다. (예시:echo -n 'DB_PASSSWORDDB_USERNAME' | md5sum - | cut -d' ' -f1
) -
AUTH_CIDR_ADDRESS
MD5 인증을 위한 CIDR을 구성하세요. 클러스터 또는 게이트웨이의 가능한 최소 서브넷으로 설정해야 합니다. minikube의 경우 이 값은192.168.100.0/12
입니다.
# 아래 주소를 사용하지 않으려면 아래 주소를 변경하세요
postgresql['listen_address'] = '0.0.0.0'
# 사용 가능한 RAM의 약 1/4로 설정합니다.
postgresql['shared_buffers'] = "512MB"
# 이 비밀번호는 다음과 같습니다: `echo -n '${password}${username}' | md5sum - | cut -d' ' -f1`
# 기본 사용자 이름은 `gitlab`입니다
postgresql['sql_user_password'] = "DB_ENCODED_PASSWORD"
# MD5 인증을 위한 CIDR을 구성하세요
postgresql['md5_auth_cidr_addresses'] = ['AUTH_CIDR_ADDRESSES']
# 신뢰된 인증 (비밀번호 없음)을 위한 CIDR을 구성하세요
postgresql['trust_auth_cidr_addresses'] = ['127.0.0.1/24']
## gitlab_rails 구성
gitlab_rails['auto_migrate'] = false
gitlab_rails['db_username'] = "gitlab"
gitlab_rails['db_password'] = "DB_PASSSWORD"
## 다른 항목 비활성화
sidekiq['enable'] = false
puma['enable'] = false
registry['enable'] = false
gitaly['enable'] = false
gitlab_workhorse['enable'] = false
nginx['enable'] = false
prometheus_monitoring['enable'] = false
redis['enable'] = false
gitlab.rb
를 만든 후, gitlab-ctl reconfigure
로 패키지를 다시 구성합니다. 작업이 완료되면 gitlab-ctl status
로 실행 중인 프로세스를 확인하세요. 출력은 다음과 같아야 합니다:
# gitlab-ctl status
run: logrotate: (pid 4856) 1859s; run: log: (pid 31262) 77460s
run: postgresql: (pid 30562) 77637s; run: log: (pid 30561) 77637s