ClickHouse 통합 가이드
이 기능은 실험 상태입니다.
GitLab과 ClickHouse 데이터베이스 간의 통합 설정 방법에 대한 지침입니다.
설정
GitLab 데이터 리포지터리로 ClickHouse를 설정하려면 다음을 수행합니다:
ClickHouse 실행 및 구성
ClickHouse를 실행하는 가장 간단한 방법은 ClickHouse Cloud를 사용하는 것입니다. 또는 나만의 서버에서 ClickHouse를 실행할 수 있습니다. ClickHouse 설문 조사를 참조하여 Self-managed 인스턴스에 대한 권장 사항을 확인하세요.
ClickHouse를 호스팅된 서버에서 실행할 때는 데이터 센터 선택, 선택한 하드웨어, 월별 인스턴스에서 실행되는 빌드 횟수 등 다양한 데이터 포인트가 리소스 소비에 영향을 미칠 수 있습니다. 그러나 비용은 중요하지 않아야 합니다.
필요한 사용자 및 데이터베이스 개체를 만들려면 다음을 수행합니다:
- 안전한 암호를 생성하고 저장합니다.
- ClickHouse SQL 콘솔에 로그인합니다.
-
다음 명령을 실행합니다. 생성된 비밀번호로 ‘PASSWORD_HERE’을(를) 교체하세요.
CREATE DATABASE gitlab_clickhouse_main_production; CREATE USER gitlab IDENTIFIED WITH sha256_password BY 'PASSWORD_HERE'; CREATE ROLE gitlab_app; GRANT SELECT, INSERT, ALTER, CREATE, UPDATE, DROP, TRUNCATE, OPTIMIZE ON gitlab_clickhouse_main_production.* TO gitlab_app; GRANT gitlab_app TO gitlab;
GitLab 연결을 ClickHouse에 구성
GitLab에 ClickHouse 자격 증명을 제공하려면 다음을 수행합니다:
-
/etc/gitlab/gitlab.rb
을 편집합니다:gitlab_rails['clickhouse_databases']['main']['database'] = 'gitlab_clickhouse_main_production' gitlab_rails['clickhouse_databases']['main']['url'] = 'https://example.com/path' gitlab_rails['clickhouse_databases']['main']['username'] = 'gitlab' gitlab_rails['clickhouse_databases']['main']['password'] = 'PASSWORD_HERE' # 실제 암호로 교체
-
파일을 저장하고 GitLab을 다시 구성합니다:
sudo gitlab-ctl reconfigure
-
ClickHouse 암호를 Kubernetes Secret으로 저장합니다:
kubectl create secret generic gitlab-clickhouse-password --from-literal="main_password=PASSWORD_HERE"
-
Helm 값을 내보냅니다:
helm get values gitlab > gitlab_values.yaml
-
gitlab_values.yaml
을 편집합니다:global: clickhouse: enabled: true main: username: default password: secret: gitlab-clickhouse-password key: main_password database: gitlab_clickhouse_main_production url: 'http://example.com'
-
파일을 저장하고 새 값들을 적용합니다:
helm upgrade -f gitlab_values.yaml gitlab gitlab/gitlab
연결 설정이 성공적으로 설정되었는지 확인하려면:
- Rails 콘솔에 로그인합니다.
-
다음을 실행합니다:
ClickHouse::Client.select('SELECT 1', :main)
성공하면 명령이
[{"1"=>1}]
을 반환합니다.
ClickHouse 마이그레이션 실행
필요한 데이터베이스 개체를 만들려면 다음을 실행합니다:
sudo gitlab-rake gitlab:clickhouse:migrate