InfoGrab Docs

Instance 실행기

GitLab Runner의 Instance 실행기를 사용하여 자동 스케일링 환경에서 온디맨드 인스턴스를 생성하고 CI/CD 작업을 실행하는 방법을 설명합니다.

히스토리 GitLab Runner 15.11.0에서 실험적 기능으로 도입되었습니다. GitLab Runner 16.6에서 베타 로 변경 되었습니다. GitLab Runner 17.1에서 일반 공개 되었습니다. Instance 실행기는 러너 관리자가 처리하는 작업량에 맞춰 온디맨드로 인스턴스를 생성하는 자동 스케일링 지원 실행기입니다. 작업에서 호스트 인스턴스, 운영 체제, 연결된 장치에 전체 접근이 필요한 경우 Instance 실행기를 사용할 수 있습니다. Instance 실행기는 다양한 수준의 격리 및 보안을 갖춘 단일 테넌트 및 다중 테넌트 작업을 수용하도록 구성할 수도 있습니다. 중첩 가상화 # Instance 실행기는 GitLab이 개발한 nesting 데몬 을 통해 중첩 가상화를 지원합니다. nesting 데몬은 작업과 같이 격리되고 단기적인 워크로드에 사용되는 호스트 시스템에서 미리 구성된 가상 머신을 생성하고 삭제할 수 있도록 합니다. Nesting은 Apple Silicon 인스턴스에서만 지원됩니다. 자동 스케일링을 위한 환경 준비 # 자동 스케일링을 위한 환경을 준비하려면: 러너 관리자가 설치되고 구성된 대상 플랫폼에 맞는 fleeting 플러그인을 설치 합니다. 사용 중인 플랫폼에 맞는 VM 이미지를 생성합니다. 이미지에는 다음이 포함되어야 합니다: Git GitLab Runner 바이너리 [!note] 작업 아티팩트와 캐시를 처리하려면, 가상 머신에 GitLab Runner 바이너리를 설치하고 러너 실행 파일을 기본 경로에 유지해야 합니다. VM 이미지는 GitLab Runner를 실행할 필요가 없습니다. VM 이미지를 사용하여 실행된 인스턴스는 GitLab에 러너로 등록되어서는 안 됩니다. 실행할 작업에 필요한 의존성 자동 스케일링을 위한 실행기 구성 # 사전 요구 사항: 관리자여야 합니다. 자동 스케일링을 위해 Instance 실행기를 구성하려면, config.toml 에서 다음 섹션을 업데이트합니다: [runners.autoscaler] [runners.instance] 선점 모드 # fleeting 및 taskscaler를 사용할 때: 선점 모드가 켜져 있으면, 유휴 인스턴스가 사용 가능할 때까지 러너 관리자는 새 CI/CD 작업을 요청하지 않습니다. 이 모드에서는 CI/CD 작업이 거의 즉시 실행됩니다. 선점 모드가 꺼져 있으면, 러너 관리자는 유휴 인스턴스의 가용 여부와 관계없이 새 CI/CD 작업을 요청합니다. 작업 수는 max_instances 와 capacity_per_instance 를 기반으로 합니다. 이 모드에서는 CI/CD 작업의 시작 시간이 느립니다. 새 인스턴스를 프로비저닝하지 못할 수 있으므로 CI/CD 작업이 실행되지 않을 수 있습니다. AWS 자동 스케일링 그룹 구성 예시 # 인스턴스당 하나의 작업 # 사전 요구 사항: 최소 git 과 GitLab Runner가 설치된 AMI. 스케일링 정책이 none 으로 설정된 AWS Autoscaling 그룹. 러너가 스케일링을 처리합니다. 올바른