GitLab Runner 인스턴스 그룹 오토스케일러
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의 인스턴스 그룹 오토스케일링은 다음과 같이 동작합니다:
- 러너 매니저가 GitLab 잡을 지속적으로 폴링합니다.
- GitLab이 러너 매니저에게 잡 페이로드를 전송합니다.
- 러너 매니저가 퍼블릭 클라우드 인프라와 상호작용하여 잡을 실행할 새 인스턴스를 생성합니다.
- 러너 매니저가 오토스케일링 풀의 사용 가능한 러너에게 잡을 분배합니다.

러너 매니저 구성#
GitLab Runner 인스턴스 그룹 오토스케일러를 사용하려면 러너 매니저를 구성해야 합니다.
-
러너 매니저를 호스팅할 인스턴스를 생성합니다. 이 인스턴스는 스팟 인스턴스(AWS)나 스팟 가상 머신(GCP 또는 Azure)이어서는 안 됩니다.
-
해당 인스턴스에 GitLab Runner를 설치합니다.
-
러너 매니저 호스트 머신에 클라우드 공급자 자격 증명을 추가합니다.
[!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 |
