InfoGrab Docs

Docker Autoscaler executor

Docker Autoscaler executor를 사용하여 AWS, GCP, Azure에서 인스턴스를 자동으로 확장하여 CI/CD 작업을 실행하는 방법을 설명합니다.

히스토리 GitLab Runner 15.11.0에서 실험적 기능 으로 도입. GitLab Runner 16.6에서 베타 로 변경 . GitLab Runner 17.1에서 정식 출시 . Docker Autoscaler executor를 사용하기 전에 알려진 이슈 목록은 GitLab Runner 자동 확장에 대한 피드백 이슈 를 참조하세요. Docker Autoscaler executor는 러너 매니저가 처리하는 작업을 수용하기 위해 필요에 따라 인스턴스를 생성하는 자동 확장 지원 Docker executor입니다. Docker executor 를 래핑하므로 모든 Docker executor 옵션과 기능이 지원됩니다. Docker Autoscaler는 자동 확장을 위해 fleeting 플러그인 을 사용합니다. Fleeting은 자동 확장 인스턴스 그룹을 위한 추상화로, Google Cloud, AWS, Azure와 같은 클라우드 공급자를 지원하는 플러그인을 사용합니다. fleeting 플러그인 설치 # 대상 플랫폼에 맞는 플러그인을 설치하려면 fleeting 플러그인 설치 를 참조하세요. 특정 구성 세부 정보는 해당 플러그인 프로젝트 문서 를 참조하세요. Docker Autoscaler 구성 # Docker Autoscaler executor는 Docker executor 를 래핑하므로 모든 Docker executor 옵션과 기능이 지원됩니다. Docker Autoscaler를 구성하려면 config.toml 에서: [runners] 섹션에서 executor 를 docker-autoscaler 로 지정합니다. 다음 섹션에서 요구 사항에 따라 Docker Autoscaler를 구성합니다: [runners.docker] [runners.autoscaler] 각 러너 구성에 대한 전용 자동 확장 그룹 # 각 Docker Autoscaler 구성에는 전용 자동 확장 리소스가 있어야 합니다: AWS의 경우 전용 오토 스케일링 그룹 GCP의 경우 전용 인스턴스 그룹 Azure의 경우 전용 확장 집합 다음에 걸쳐 이러한 자동 확장 리소스를 공유하지 마세요: 여러 러너 매니저(별도의 GitLab Runner 설치) 동일한 러너 매니저의 config.toml 내 여러 [[runners]] 항목 Docker Autoscaler는 클라우드 공급자의 자동 확장 리소스와 동기화해야 하는 인스턴스 상태를 추적합니다. 여러 시스템이 동일한 자동 확장 리소스를 관리하려고 하면 충돌하는 확장 명령을 실행할 수 있으며, 이로 인해 예측할 수 없는 동작, 작업 실패 및 잠재적으로 더 높은 비용이 발생할 수 있습니다. 예시: 인스턴스당 1개 작업을 위한 AWS 자동 확장 # 사전 요구 사항: Docker Engine 이 설치된 AMI. Runner Manager가 AMI의 Docker 소켓에 접근할 수 있도록 하려면 사용자가 docker 그룹에 속해 있어야 합니다. [!note] AMI에는 GitLab Runner가 설치될 필요가 없습니다. AMI를 사용하여 시작된 인스턴스