GitLab AI 게이트웨이

AI 게이트웨이는 AI 기반 GitLab Duo 기능에 접근할 수 있는 독립형 서비스입니다.

GitLab AI 게이트웨이 설치

Docker를 사용하여 설치

전제 조건:

  • Docker와 같은 Docker 컨테이너 엔진을 설치합니다.
  • 네트워크 내에서 접근 가능한 유효한 호스트명을 사용합니다. localhost는 사용하지 마세요.

GitLab AI 게이트웨이 Docker 이미지는 모든 필요한 코드와 종속성을 단일 컨테이너에 포함하고 있습니다.

AI 게이트웨이 릴리즈 찾기

GitLab 공식 Docker 이미지는 다음에서 확인할 수 있습니다:

GitLab 버전에 해당하는 이미지 태그를 사용하세요. 예를 들어, GitLab 버전이 v17.5.0인 경우, self-hosted-v17.5.0-ee 태그를 사용합니다.

이미지에서 컨테이너 시작

self-hosted-17.4.0-ee 및 이후 버전의 Docker 이미지에 대해 다음 명령을 실행합니다:

docker run -p 5052:5052 \
 -e AIGW_GITLAB_URL=<your_gitlab_instance> \
 -e AIGW_GITLAB_API_URL=https://<your_gitlab_domain>/api/v4/ \
 <image>

컨테이너 호스트에서 http://localhost:5052/docs에 접근하면 AI 게이트웨이 API 문서가 열립니다.

AI 게이트웨이 Helm 차트를 사용하여 설치

전제 조건:

  • DNS 레코드를 추가할 수 있는 도메인이 필요합니다.
  • Kubernetes 클러스터가 필요합니다.
  • kubectl의 작동하는 설치가 필요합니다.
  • Helm의 작동하는 설치가 필요하며, 버전은 v3.11.0 이상이어야 합니다.

더 많은 정보는 GKE 또는 EKS에서 GitLab 차트 테스트를 참조하세요.

AI 게이트웨이 Helm 리포지토리 추가

Helm의 구성에 AI 게이트웨이 Helm 리포지토리를 추가합니다:

helm repo add ai-gateway \
https://gitlab.com/api/v4/projects/gitlab-org%2fcharts%2fai-gateway-helm-chart/packages/helm/devel

AI 게이트웨이 설치

  1. ai-gateway 네임스페이스를 생성합니다:

    kubectl create namespace ai-gateway
    
  2. AI 게이트웨이를 노출할 도메인에 대한 인증서를 생성합니다.

  3. 이전에 생성한 네임스페이스에 TLS 비밀을 생성합니다:

    kubectl -n ai-gateway create secret tls ai-gateway-tls --cert="<path_to_cert>" --key="<path_to_cert_key>"
    
  4. AI 게이트웨이가 API에 접근할 수 있도록 GitLab 인스턴스의 위치를 알아야 합니다. 이를 위해 gitlab.urlgitlab.apiUrl을 설정하고, ingress.hostsingress.tls 값을 다음과 같이 설정합니다:

    helm repo add ai-gateway \
      https://gitlab.com/api/v4/projects/gitlab-org%2fcharts%2fai-gateway-helm-chart/packages/helm/devel
    helm repo update
    
    helm upgrade --install ai-gateway \
      ai-gateway/ai-gateway \
      --version 0.1.1 \
      --namespace=ai-gateway \
      --set="image.tag=<ai-gateway-image>" \
      --set="gitlab.url=https://<your_gitlab_domain>" \
      --set="gitlab.apiUrl=https://<your_gitlab_domain>/api/v4/" \
      --set "ingress.enabled=true" \
      --set "ingress.hosts[0].host=<your_gateway_domain>" \
      --set "ingress.hosts[0].paths[0].path=/" \
      --set "ingress.hosts[0].paths[0].pathType=ImplementationSpecific" \
      --set "ingress.tls[0].secretName=ai-gateway-tls" \
      --set "ingress.tls[0].hosts[0]=<your_gateway_domain>" \
      --set="ingress.className=nginx" \
      --timeout=300s --wait --wait-for-jobs
    

이 단계는 모든 리소스가 할당되고 AI 게이트웨이가 시작되기 위해 몇 초가 걸릴 수 있습니다.

포드가 가동될 때까지 기다립니다:

kubectl wait pod \
  --all \
  --for=condition=Ready \
  --namespace=ai-gateway \
  --timeout=300s

포드가 가동되면 IP 수신 및 DNS 레코드를 설정할 수 있습니다.

AI Gateway Docker 이미지 업그레이드

AI Gateway를 업그레이드하려면 최신 Docker 이미지 태그를 다운로드하세요.

  1. 실행 중인 컨테이너를 중지합니다:

    sudo docker stop gitlab-aigw
    
  2. 기존 컨테이너를 제거합니다:

    sudo docker rm gitlab-aigw
    
  3. 새로운 이미지를 풀하고 실행하세요.

  4. 환경 변수가 모두 올바르게 설정되었는지 확인하세요.

대체 설치 방법

AI Gateway를 설치하는 대체 방법에 대한 정보는 이슈 463773를 참조하세요.