Zoekt 차트

Tier: Premium, Ultimate Offering: GitLab.com, Self-managed Status: Beta
  • GitLab 15.9에서 index_code_with_zoektsearch_code_with_zoekt라는 플래그와 함께 베타로 도입되었습니다. 기본적으로 비활성화되어 있습니다.
  • GitLab.com에서 활성화됨 GitLab 16.6에서.
  • 기능 플래그 index_code_with_zoektsearch_code_with_zoekt제거됨 GitLab 17.1에서.
caution

이 기능은 베타이며 사전 통보 없이 변경될 수 있습니다.

자세한 내용은 epic 9404를 참조하십시오.

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는 리포지토리 스토리지의 약 3배를 사용합니다.

CPU 및 메모리 사용량 설정

다음 GitLab.com 기본 설정을 수정하여 Zoekt 차트에 대한 요청 및 제한을 정의할 수 있습니다:

  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 구성하기

  • 16.6에서 샤드가 노드로 이름이 변경되었습니다.

GitLab에서 최상위 그룹에 대해 Zoekt를 구성하려면:

  1. 툴박스 포드의 Rails 콘솔에 연결합니다:

    kubectl exec <toolbox pod name> -it -c toolbox -- gitlab-rails console -e production
    
  2. 정확한 코드 검색 활성화.
  3. 인덱싱 설정:

    node = ::Search::Zoekt::Node.online.last
    namespace = Namespace.find_by_full_path('<top-level-group-to-index>')
    enabled_namespace = Search::Zoekt::EnabledNamespace.find_or_create_by(namespace: namespace)
    replica = enabled_namespace.replicas.find_or_create_by(namespace_id: enabled_namespace.root_namespace_id)
    replica.ready!
    node.indices.create!(zoekt_enabled_namespace_id: enabled_namespace.id, namespace_id: namespace.id, zoekt_replica_id: replica.id, state: :ready)
    

이제 Zoekt는 해당 그룹의 프로젝트가 업데이트되거나 생성될 때 인덱싱할 수 있습니다.