GitLab 전용 호스팅 러너

Tier: Ultimate Offering: GitLab Dedicated
Status: Beta
note
이 기능을 사용하려면 GitLab Dedicated용 호스팅 러너에 대한 구독을 구매해야 합니다. 전용 호스팅 러너의 폐쇄 베타에 참여하려면 고객 성공 관리자 또는 계정 담당자에게 문의하세요.

귀하는 GitLab 호스팅 러너에서 CI/CD 작업을 실행할 수 있습니다. 이 러너는 GitLab에서 관리되며 귀하의 GitLab Dedicated 인스턴스와 완전히 통합되어 있습니다.
GitLab 전용 호스팅 러너는 AWS EC2에서 GitLab Dedicated 인스턴스와 동일한 지역에서 실행되는 자동 확장 인스턴스 러너입니다.

호스팅 러너를 사용할 때:

  • 각 작업은 특정 작업 전용으로 프로비저닝된 새 가상 머신(VM)에서 실행됩니다.
  • 귀하의 작업이 실행되는 VM은 비밀번호 없이 sudo 접근을 가집니다.
  • 저장소는 운영 체제, 미리 설치된 소프트웨어를 포함하는 이미지 및 복제된 리포지토리의 복사본에 의해 공유됩니다. 이는 작업을 위한 사용 가능한 무료 디스크 공간이 줄어든다는 것을 의미합니다.
  • 기본적으로 태그가 없는 작업은 작은 Linux x86-64 러너에서 실행됩니다. GitLab 관리자는 GitLab에서 태그가 없는 작업 실행 옵션을 변경할 수 있습니다.

보안

이 섹션은 GitLab Runner 빌드 환경의 보안을 강화하는 추가 내장 계층에 대한 개요를 제공합니다.

GitLab 전용 호스팅 러너는 다음과 같이 구성됩니다:

  • 방화벽 규칙은 일시적인 VM에서 공용 인터넷으로의 아웃바운드 통신만 허용합니다.
  • 공용 인터넷에서 일시적인 VM으로의 인바운드 통신은 허용되지 않습니다.
  • 방화벽 규칙은 VM 간의 통신을 허용하지 않습니다.
  • 일시적인 VM에 대한 유일한 내부 통신은 러너 관리자에서만 허용됩니다.
  • 일시적인 러너 VM은 단일 작업만 수행하며 작업 실행 후 삭제됩니다.

또한 호스팅 러너에서 AWS 계정으로 비공식 연결을 활성화할 수 있습니다.

자세한 내용은 GitLab 전용 호스팅 러너에 대한 아키텍처 다이어그램을 참조하세요.

가격

베타 기간 동안 GitLab Dedicated용 호스팅 러너는 무료입니다. 자세한 가격 모델은 일반 제공 시 발표됩니다.

Linux에서의 호스팅 러너

GitLab Dedicated용 Linux에서의 호스팅 러너는 Docker Autoscaler 실행기를 사용합니다. 각 작업에는 완전히 격리된 일시적인 가상 머신(VM)에서 Docker 환경이 제공되며, 최신 버전의 Docker Engine에서 실행됩니다.

Linux (x86-64)용 머신 유형

다음은 Linux x86-64의 호스팅 러너에 사용할 수 있는 머신 유형입니다.

크기 러너 태그 vCPUs 메모리 저장소
Small linux-small-amd64 (기본) 2 8 GB 30 GB
Medium linux-medium-amd64 4 16 GB 50 GB
Large linux-large-amd64 8 32 GB 100 GB
X-Large linux-xlarge-amd64 16 64 GB 200 GB
2X-Large linux-2xlarge-amd64 32 128 GB 200 GB
note
머신 유형 및 기본 프로세서 유형은 변경될 수 있습니다. 특정 프로세서 설계를 최적화한 작업은 일관성 없이 동작할 수 있습니다.

기본 러너 태그는 생성 시 할당됩니다. 관리자는 이후 태그 설정을 수정할 수 있습니다 자신의 인스턴스 러너에 대해.

컨테이너 이미지

Linux에서 러너는 Docker Autoscaler 실행기를 사용하므로, .gitlab-ci.yml 파일에 이미지를 정의하여 원하는 컨테이너 이미지를 선택할 수 있습니다. 선택한 Docker 이미지가 기본 프로세서 아키텍처와 호환되는지 확인하세요. 예제 .gitlab-ci.yml 파일을 참조하세요.

이미지가 설정되지 않은 경우 기본값은 ruby:3.1입니다.

Docker Hub 컨테이너 레지스트리의 이미지를 사용하는 경우, 요금 제한에 직면할 수 있습니다. 이는 GitLab Dedicated가 단일 네트워크 주소 변환(NAT) IP 주소를 사용하기 때문입니다.

요금 제한을 피하려면 다음을 사용하세요:

Docker in Docker 지원

러너는 Docker in Docker를 지원하기 위해 privileged 모드에서 실행되도록 구성되어 있으며, 이를 통해 Docker 이미지를 네이티브로 빌드하거나 격리된 작업 내에서 여러 컨테이너를 실행할 수 있습니다.

Switchboard에서 호스팅된 러너 관리

Switchboard를 사용하여 GitLab Dedicated 인스턴스의 호스팅된 러너를 생성하고 볼 수 있습니다.

사전 조건:

  • GitLab Dedicated의 호스팅된 러너에 대한 구독을 구매해야 합니다.

Switchboard에서 호스팅된 러너 생성

호스팅된 러너를 생성하려면:

  1. Switchboard에 로그인합니다.
  2. 페이지 상단에서 Hosted runners를 선택합니다.
  3. New hosted runner를 선택합니다.
  4. 러너의 크기를 선택한 후 Create hosted runner를 선택합니다.

호스팅된 러너가 사용 준비가 되면 이메일 알림을 받게 됩니다.

Switchboard에서 호스팅된 러너 보기

호스팅된 러너를 보려면:

  1. Switchboard에 로그인합니다.
  2. 페이지 상단에서 Hosted runners를 선택합니다.
  3. 선택 사항. 호스팅된 러너 목록에서 GitLab에서 액세스하고 싶은 러너의 Runner ID를 복사합니다.

GitLab에서 호스팅된 러너 보기 및 구성

GitLab 관리자는 관리 영역에서 GitLab Dedicated 인스턴스의 호스팅된 러너를 관리할 수 있습니다.

GitLab에서 호스팅된 러너 보기

GitLab Dedicated 인스턴스의 호스팅된 러너는 러너 페이지 및 Fleet 대시보드에서 볼 수 있습니다.

사전 조건:

  • 관리자가 되어야 합니다.

GitLab에서 호스팅된 러너를 보려면:

  1. 왼쪽 사이드바에서 하단의 Admin을 선택합니다.
  2. CI/CD > Runners를 선택합니다.
  3. 선택 사항. Fleet dashboard를 선택합니다.

GitLab에서 호스팅된 러너 구성

사전 조건:

  • 관리자가 되어야 합니다.

GitLab Dedicated 인스턴스의 호스팅된 러너를 구성할 수 있으며, 러너 태그의 기본값을 변경할 수 있습니다.

사용 가능한 구성 옵션은 다음과 같습니다:

참고:

러너 설명 및 러너 태그에 대한 모든 변경 사항은 GitLab에 의해 제어되지 않습니다.

GitLab에서 그룹 또는 프로젝트에 대해 호스팅된 러너 비활성화

기본적으로, 호스팅된 러너는 GitLab 전용 인스턴스의 모든 프로젝트와 그룹에서 사용할 수 있습니다.

GitLab 유지 관리자는 프로젝트 또는 그룹에 대해 호스팅된 러너를 비활성화할 수 있습니다.

아웃바운드 개인 링크

아웃바운드 개인 링크는 GitLab 전용을 위한 호스팅된 러너와 AWS VPC의 서비스 간에 안전한 연결을 생성합니다.

이 연결은 공개 인터넷에 어떤 트래픽도 노출하지 않으며, 호스팅된 러너가 다음을 수행할 수 있도록 합니다:

  • 사용자 지정 비밀 관리와 같은 개인 서비스에 접근합니다.
  • 인프라에 저장된 아티팩트 또는 작업 이미지를 검색합니다.
  • 인프라에 배포합니다.

GitLab 관리 러너 계정의 모든 러너에 대해 기본적으로 두 개의 아웃바운드 개인 링크가 존재합니다:

  • GitLab 인스턴스에 대한 링크
  • GitLab에서 제어하는 Prometheus 인스턴스에 대한 링크

이 링크는 사전 구성되어 있으며 수정할 수 없습니다. 임차인의 Prometheus 인스턴스는 GitLab에서 관리되며 사용자에게는 접근할 수 없습니다.

다른 VPC 서비스와 아웃바운드 개인 링크를 사용하려면 수동 구성이 필요합니다. 자세한 내용은 아웃바운드 개인 링크를 참조하세요.

IP 범위

GitLab 전용의 호스팅된 러너에 대한 IP 범위는 요청 시 제공됩니다. IP 범위는 최선의 노력에 따라 유지 관리되며 인프라의 변경으로 인해 언제든지 변경될 수 있습니다. 자세한 내용은 고객 성공 관리자 또는 계정 담당자에게 문의하세요.

작업을 호스팅된 러너로 마이그레이션

작업을 호스팅된 러너를 사용하도록 마이그레이션하려면:

  1. 태그가 없는 작업에 대해 소형 Linux x86-64 러너를 사용합니다.

  2. .gitlab-ci.yml 파일에서 작업 구성에 적절한 태그를 추가합니다:

    job_name:
      tags:
        - linux-medium-amd64  # 중간 크기의 Linux 러너 사용
    
  3. 기존 작업 구성과 일치하도록 태그를 수정합니다.

GitLab 관리자는 GitLab에서 인스턴스 러너를 구성하여 태그가 없는 작업을 실행하지 않도록 설정할 수 있습니다.