GitLab AI Gateway

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

GitLab AI Gateway 설치

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 게이트웨이 Docker 이미지 업그레이드

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

  1. 실행 중인 컨테이너 중지:

    sudo docker stop gitlab-aigw
    
  2. 기존 컨테이너 삭제:

    sudo docker rm gitlab-aigw
    
  3. 새 이미지를 가져오고 새 이미지를 실행하세요.

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

대체 설치 방법

AI 게이트웨이를 설치하는 대체 방법에 대한 정보는 문제 463773를 참조하세요.