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 게이트웨이 설치
-
ai-gateway
네임스페이스를 생성합니다:kubectl create namespace ai-gateway
-
AI 게이트웨이를 노출할 도메인에 대한 인증서를 생성합니다.
-
이전에 생성한 네임스페이스에 TLS 비밀을 생성합니다:
kubectl -n ai-gateway create secret tls ai-gateway-tls --cert="<path_to_cert>" --key="<path_to_cert_key>"
-
AI 게이트웨이가 API에 접근할 수 있도록 GitLab 인스턴스의 위치를 알아야 합니다. 이를 위해
gitlab.url
과gitlab.apiUrl
을 설정하고,ingress.hosts
및ingress.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 이미지 태그를 다운로드하세요.
-
실행 중인 컨테이너를 중지합니다:
sudo docker stop gitlab-aigw
-
기존 컨테이너를 제거합니다:
sudo docker rm gitlab-aigw
-
새로운 이미지를 풀하고 실행하세요.
-
환경 변수가 모두 올바르게 설정되었는지 확인하세요.
대체 설치 방법
AI Gateway를 설치하는 대체 방법에 대한 정보는 이슈 463773를 참조하세요.