InfoGrab Docs

GitLab Runner 인스턴스 그룹 오토스케일러

요약

GitLab Runner 인스턴스 그룹 오토스케일러는 Docker Machine 기반의 오토스케일링 기술을 대체하는 차세대 솔루션입니다. GitLab Runner의 인스턴스 그룹 오토스케일링은 다음과 같이 동작합니다:

GitLab Runner 인스턴스 그룹 오토스케일러는 Docker Machine 기반의 오토스케일링 기술을 대체하는 차세대 솔루션입니다. GitLab Runner 인스턴스 그룹 오토스케일링 솔루션의 구성 요소는 다음과 같습니다:

  • Taskscaler: 오토스케일링 로직과 상태 관리를 담당하며, 클라우드 공급자의 인스턴스 오토스케일링 그룹을 사용하는 러너 인스턴스를 위한 플릿(fleet)을 생성합니다.
  • Fleeting: 클라우드 공급자 가상 머신의 추상화 레이어입니다.
  • 클라우드 공급자 플러그인: 대상 클라우드 플랫폼에 대한 API 호출을 처리하며, 플러그인 개발 프레임워크를 사용하여 구현됩니다.

GitLab Runner의 인스턴스 그룹 오토스케일링은 다음과 같이 동작합니다:

  1. 러너 매니저가 GitLab 잡을 지속적으로 폴링합니다.
  2. GitLab이 러너 매니저에게 잡 페이로드를 전송합니다.
  3. 러너 매니저가 퍼블릭 클라우드 인프라와 상호작용하여 잡을 실행할 새 인스턴스를 생성합니다.
  4. 러너 매니저가 오토스케일링 풀의 사용 가능한 러너에게 잡을 분배합니다.

GitLab Next Runner 오토스케일링 개요

러너 매니저 구성#

GitLab Runner 인스턴스 그룹 오토스케일러를 사용하려면 러너 매니저를 구성해야 합니다.

  1. 러너 매니저를 호스팅할 인스턴스를 생성합니다. 이 인스턴스는 스팟 인스턴스(AWS)나 스팟 가상 머신(GCP 또는 Azure)이어서는 안 됩니다.

  2. 해당 인스턴스에 GitLab Runner를 설치합니다.

  3. 러너 매니저 호스트 머신에 클라우드 공급자 자격 증명을 추가합니다.

    [!note] 러너 매니저를 컨테이너에서 호스팅할 수 있습니다. GitLab.com 및 GitLab Dedicated의 호스팅된 러너의 경우, 러너 매니저는 가상 머신 인스턴스에서 호스팅됩니다.

GitLab Runner 인스턴스 그룹 오토스케일러의 자격 증명 구성 예시#

AWS 환경에서 러너 매니저에 AWS Identity and Access Management(IAM) 인스턴스 프로파일을 사용할 수 있습니다. 러너 매니저를 AWS에서 호스팅하지 않으려면 자격 증명 파일을 사용할 수 있습니다.

예시:

## credentials_file

[default]
aws_access_key_id=__REDACTED__
aws_secret_access_key=__REDACTED__

자격 증명 파일은 선택 사항입니다.

지원되는 퍼블릭 클라우드 인스턴스#

퍼블릭 클라우드 컴퓨팅 인스턴스에 대해 다음 오토스케일링 옵션이 지원됩니다:

  • Amazon Web Services EC2 인스턴스
  • Google Compute Engine
  • Microsoft Azure Virtual Machines

이러한 클라우드 인스턴스는 GitLab Runner Docker Machine 오토스케일러에서도 지원됩니다.

지원되는 플랫폼#

Executor Linux macOS Windows
Instance executor [check-circle] Yes [check-circle] Yes [check-circle] Yes
Docker Autoscaler executor [check-circle] Yes [dotted-circle] No [check-circle] Yes

GitLab Runner 인스턴스 그룹 오토스케일러

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

GitLab Runner 인스턴스 그룹 오토스케일러는 Docker Machine 기반의 오토스케일링 기술을 대체하는 차세대 솔루션입니다. GitLab Runner의 인스턴스 그룹 오토스케일링은 다음과 같이 동작합니다:

GitLab Runner 인스턴스 그룹 오토스케일러는 Docker Machine 기반의 오토스케일링 기술을 대체하는 차세대 솔루션입니다. GitLab Runner 인스턴스 그룹 오토스케일링 솔루션의 구성 요소는 다음과 같습니다:

  • Taskscaler: 오토스케일링 로직과 상태 관리를 담당하며, 클라우드 공급자의 인스턴스 오토스케일링 그룹을 사용하는 러너 인스턴스를 위한 플릿(fleet)을 생성합니다.
  • Fleeting: 클라우드 공급자 가상 머신의 추상화 레이어입니다.
  • 클라우드 공급자 플러그인: 대상 클라우드 플랫폼에 대한 API 호출을 처리하며, 플러그인 개발 프레임워크를 사용하여 구현됩니다.

GitLab Runner의 인스턴스 그룹 오토스케일링은 다음과 같이 동작합니다:

  1. 러너 매니저가 GitLab 잡을 지속적으로 폴링합니다.
  2. GitLab이 러너 매니저에게 잡 페이로드를 전송합니다.
  3. 러너 매니저가 퍼블릭 클라우드 인프라와 상호작용하여 잡을 실행할 새 인스턴스를 생성합니다.
  4. 러너 매니저가 오토스케일링 풀의 사용 가능한 러너에게 잡을 분배합니다.

GitLab Next Runner 오토스케일링 개요

러너 매니저 구성#

GitLab Runner 인스턴스 그룹 오토스케일러를 사용하려면 러너 매니저를 구성해야 합니다.

  1. 러너 매니저를 호스팅할 인스턴스를 생성합니다. 이 인스턴스는 스팟 인스턴스(AWS)나 스팟 가상 머신(GCP 또는 Azure)이어서는 안 됩니다.

  2. 해당 인스턴스에 GitLab Runner를 설치합니다.

  3. 러너 매니저 호스트 머신에 클라우드 공급자 자격 증명을 추가합니다.

    [!note] 러너 매니저를 컨테이너에서 호스팅할 수 있습니다. GitLab.com 및 GitLab Dedicated의 호스팅된 러너의 경우, 러너 매니저는 가상 머신 인스턴스에서 호스팅됩니다.

GitLab Runner 인스턴스 그룹 오토스케일러의 자격 증명 구성 예시#

AWS 환경에서 러너 매니저에 AWS Identity and Access Management(IAM) 인스턴스 프로파일을 사용할 수 있습니다. 러너 매니저를 AWS에서 호스팅하지 않으려면 자격 증명 파일을 사용할 수 있습니다.

예시:

## credentials_file

[default]
aws_access_key_id=__REDACTED__
aws_secret_access_key=__REDACTED__

자격 증명 파일은 선택 사항입니다.

지원되는 퍼블릭 클라우드 인스턴스#

퍼블릭 클라우드 컴퓨팅 인스턴스에 대해 다음 오토스케일링 옵션이 지원됩니다:

  • Amazon Web Services EC2 인스턴스
  • Google Compute Engine
  • Microsoft Azure Virtual Machines

이러한 클라우드 인스턴스는 GitLab Runner Docker Machine 오토스케일러에서도 지원됩니다.

지원되는 플랫폼#

Executor Linux macOS Windows
Instance executor [check-circle] Yes [check-circle] Yes [check-circle] Yes
Docker Autoscaler executor [check-circle] Yes [dotted-circle] No [check-circle] Yes