ClickHouse 통합 가이드라인
이 기능은 실험입니다.
GitLab과 ClickHouse 데이터베이스 간의 통합을 설정하는 방법에 대한 지침입니다.
설정
ClickHouse를 GitLab 데이터 저장소로 설정하려면:
ClickHouse 실행 및 구성하기
ClickHouse를 실행하는 가장 직관적인 방법은 ClickHouse Cloud입니다.
서버에서 ClickHouse를 실행할 수도 있습니다. ClickHouse에 대한 자체 관리 인스턴스에 대한 권장 사항을 참조하십시오.
호스팅 서버에서 ClickHouse를 실행할 때, 매달 인스턴스에서 실행되는 빌드 수, 선택한 하드웨어, 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 SELECT ON information_schema.* TO gitlab_app; GRANT gitlab_app TO gitlab;
ClickHouse에 대한 GitLab 연결 구성하기
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 비밀로 저장합니다:
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
분석을 위한 ClickHouse 활성화
이제 GitLab 인스턴스가 ClickHouse에 연결되었으므로 분석을 위한 ClickHouse 활성화를 통해 ClickHouse 기능을 사용할 수 있습니다.