Zoekt 차트
Tier: Premium, Ultimate
Offering: Self-Managed
Status: Experiment
- GitLab 15.9에 도입되었으며,
index_code_with_zoekt
및search_code_with_zoekt
라는 플래그로 활성화되었습니다. 기본으로 비활성화됩니다.- GitLab 16.6에서 GitLab.com에서 활성화되었습니다.
Self-Managed GitLab의 경우 기본적으로 이 기능을 사용할 수 없습니다. 이를 사용할 수 있도록 하려면 관리자가
index_code_with_zoekt
및 search_code_with_zoekt
라는 피처 플래그를 활성화할 수 있습니다. GitLab.com에서는 이 기능을 사용할 수 있습니다.경고: 이 기능은 실험입니다. GitLab 지원팀은 Zoekt 차트의 구성 또는 문제 해결에 지원할 수 없습니다.
Zoekt 차트는 정확한 코드 검색을 지원합니다. gitlab-zoekt.install
을 true
로 설정하면 차트를 설치할 수 있습니다. 자세한 정보는 gitlab-zoekt
를 참조하세요.
Zoekt 차트 활성화하기
다음 값을 설정하여 Zoekt 차트를 활성화합니다.
--set gitlab-zoekt.install=true \
--set gitlab-zoekt.replicas=2 \ # Zoekt 팟의 수. 하나의 팟만 사용하려면 이 설정을 건너뛸 수 있습니다.
--set gitlab-zoekt.indexStorage=128Gi # Zoekt 노드 디스크 크기. Zoekt는 리포지토리 저장소 크기의 약 세 배를 사용합니다.
CPU 및 메모리 사용량 설정
다음과 같이 GitLab.com의 기본 설정을 수정하여 Zoekt 차트의 요청(requests) 및 제한(limits)을 정의할 수 있습니다.
webserver:
resources:
requests:
cpu: 4
memory: 32Gi
limits:
cpu: 16
memory: 128Gi
indexer:
resources:
requests:
cpu: 4
memory: 6Gi
limits:
cpu: 16
memory: 12Gi
gateway:
resources:
requests:
cpu: 2
memory: 512Mi
limits:
cpu: 4
memory: 1Gi
GitLab에서 Zoekt 구성하기
- GitLab 16.6에서 샤드가 노드로 이름이 변경되었습니다.
GitLab의 최상위 그룹에 Zoekt를 구성하려면:
-
도구 상자 팟의 Rails 콘솔에 연결합니다:
kubectl exec <도구 상자 팟 이름> -it -c toolbox -- gitlab-rails console -e production
-
Zoekt를 위한 피처 플래그를 활성화합니다:
::Feature.enable(:index_code_with_zoekt) ::Feature.enable(:search_code_with_zoekt)
-
색인 설정:
# Zoekt 노드 중 하나를 선택합니다 node = ::Search::Zoekt::Node.last # 최상위 그룹 이름을 사용합니다 namespace = Namespace.find_by_full_path('<색인을 수행할 최상위 그룹>') enabled_namespace = Search::Zoekt::EnabledNamespace.find_or_create_by(namespace: namespace) node.indices.create!(zoekt_enabled_namespace_id: enabled_namespace.id, namespace_id: namespace.id, state: :ready)
이제 Zoekt는 해당 그룹의 프로젝트를 색인할 수 있습니다. 프로젝트가 업데이트되거나 생성된 후 Zoekt가 색인할 수 있습니다.