Zoekt 차트

Tier: Premium, Ultimate Offering: Self-Managed Status: Experiment
Self-Managed GitLab의 경우 기본적으로 이 기능을 사용할 수 없습니다. 이를 사용할 수 있도록 하려면 관리자가 index_code_with_zoektsearch_code_with_zoekt라는 피처 플래그를 활성화할 수 있습니다. GitLab.com에서는 이 기능을 사용할 수 있습니다.

경고: 이 기능은 실험입니다. GitLab 지원팀은 Zoekt 차트의 구성 또는 문제 해결에 지원할 수 없습니다.

Zoekt 차트는 정확한 코드 검색을 지원합니다. gitlab-zoekt.installtrue로 설정하면 차트를 설치할 수 있습니다. 자세한 정보는 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의 최상위 그룹에 Zoekt를 구성하려면:

  1. 도구 상자 팟의 Rails 콘솔에 연결합니다:

    kubectl exec <도구 상자 팟 이름> -it -c toolbox -- gitlab-rails console -e production
    
  2. Zoekt를 위한 피처 플래그를 활성화합니다:

    ::Feature.enable(:index_code_with_zoekt)
    ::Feature.enable(:search_code_with_zoekt)
    
  3. 색인 설정:

    # 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가 색인할 수 있습니다.