Fleeting
Fleeting은 GitLab Runner가 클라우드 공급자의 인스턴스 그룹에 대한 플러그인 기반 추상화를 제공하기 위해 사용하는 라이브러리입니다. 다음 실행기는 fleeting을 사용하여 러너를 스케일링합니다: GitLab은 다음 공식 플러그인을 유지 관리합니다:
Fleeting은 GitLab Runner가 클라우드 공급자의 인스턴스 그룹에 대한 플러그인 기반 추상화를 제공하기 위해 사용하는 라이브러리입니다.
다음 실행기는 fleeting을 사용하여 러너를 스케일링합니다:
fleeting 플러그인 찾기#
GitLab은 다음 공식 플러그인을 유지 관리합니다:
| 클라우드 공급자 | 참고 |
|---|---|
| Google Cloud | Google Cloud 인스턴스 그룹 사용 |
| AWS | AWS Auto Scaling 그룹 사용 |
| Azure | Azure 가상 머신 스케일 세트 사용. 균일 오케스트레이션 모드만 지원됩니다. |
다음 플러그인은 커뮤니티에서 유지 관리합니다:
| 클라우드 공급자 | OCI 참조 | 참고 |
|---|---|---|
| VMware vSphere | registry.gitlab.com/santhanuv/fleeting-plugin-vmware-vsphere:latest |
기존 템플릿에서 복제하여 가상 머신을 만들고 관리하기 위해 VMware vSphere를 사용합니다. govmomi vcsim 시뮬레이터로 테스트되었으며 기본 사용 사례에 대해 커뮤니티 멤버가 검증했습니다. 제한된 vSphere 권한으로 제한이 있을 수 있습니다. Fleeting Plugin VMware vSphere 프로젝트에서 관련 이슈를 만들 수 있습니다. |
커뮤니티 유지 관리 플러그인은 GitLab 외부의 기여자(커뮤니티)가 소유, 빌드, 호스팅 및 유지 관리합니다. GitLab은 정적 코드 검토를 제공하기 위해 Fleeting 라이브러리와 API를 소유하고 유지 관리합니다. GitLab은 모든 필요한 컴퓨팅 환경에 액세스할 수 없기 때문에 커뮤니티 플러그인을 테스트할 수 없습니다. 커뮤니티 멤버는 OCI 리포지터리에 플러그인을 빌드, 테스트 및 게시하고 머지 리퀘스트를 통해 이 페이지에 참조를 제공해야 합니다. OCI 참조에는 이슈를 보고할 위치, 플러그인의 지원 및 안정성 수준, 문서를 찾을 위치에 대한 참고 사항이 함께 있어야 합니다.
fleeting 플러그인 구성#
fleeting을 구성하려면 config.toml에서 [runners.autoscaler] 구성 섹션을 사용합니다.
각 플러그인의 README.md 파일에는 설치 및 구성에 관한 중요한 정보가 포함되어 있습니다.
fleeting 플러그인 설치#
fleeting 플러그인을 설치하려면 다음 중 하나를 사용합니다:
- OCI 레지스트리 배포(권장)
- 수동 바이너리 설치
OCI 레지스트리 배포로 설치#
히스토리
- GitLab Runner 16.11에서 OCI 레지스트리 배포가 도입됨
플러그인은 UNIX 시스템에서는 ~/.config/fleeting/plugins에, Windows에서는 %APPDATA%/fleeting/plugins에 설치됩니다. 플러그인이 설치되는 위치를 재정의하려면 환경 변수 FLEETING_PLUGIN_PATH를 업데이트합니다.
fleeting 플러그인을 설치하려면:
-
config.toml의[runners.autoscaler]섹션에서 fleeting 플러그인을 추가합니다:[[runners]] name = "my runner" url = "https://gitlab.com" token = "<token>" shell = "sh" executor = "instance" [runners.autoscaler] plugin = "aws:latest"[[runners]] name = "my runner" url = "https://gitlab.com" token = "<token>" shell = "sh" executor = "instance" [runners.autoscaler] plugin = "googlecloud:latest"[[runners]] name = "my runner" url = "https://gitlab.com" token = "<token>" shell = "sh" executor = "instance" [runners.autoscaler] plugin = "azure:latest"gitlab-runner fleeting install을 실행합니다.
plugin형식#plugin매개변수는 다음 형식을 지원합니다:<name><name>:<version constraint><repository>/<name><repository>/<name>:<version constraint><registry>/<repository>/<name><registry>/<repository>/<name>:<version constraint>
여기서:
registry.gitlab.com은 기본 레지스트리입니다.gitlab-org/fleeting/plugins는 기본 리포지터리입니다.latest는 기본 버전입니다.
버전 제약 형식#
gitlab-runner fleeting install명령은 버전 제약을 사용하여 원격 리포지터리에서 최신 일치 버전을 찾습니다.GitLab Runner가 실행될 때 버전 제약을 사용하여 로컬에 설치된 최신 일치 버전을 찾습니다.
다음 버전 제약 형식을 사용합니다:
형식 설명 latest최신 버전. 주 버전을 선택합니다. 예를 들어 1은1.*.*와 일치하는 버전을 선택합니다..주 및 부 버전을 선택합니다. 예를 들어 1.5는1.5.*와 일치하는 최신 버전을 선택합니다...주 및 부 버전과 패치를 선택합니다. 예를 들어 1.5.1은 버전1.5.1을 선택합니다.바이너리 수동 설치#
fleeting 플러그인을 수동으로 설치하려면:
-
시스템용 fleeting 플러그인 바이너리를 다운로드합니다:
-
바이너리의 이름이
fleeting-plugin-<name>형식인지 확인합니다. 예를 들어fleeting-plugin-aws. -
바이너리를
$PATH에서 찾을 수 있는지 확인합니다. 예를 들어/usr/local/bin으로 이동합니다. -
config.toml의[runners.autoscaler]섹션에서 fleeting 플러그인을 추가합니다. 예를 들어:[[runners]] name = "my runner" url = "https://gitlab.com" token = "<token>" shell = "sh" executor = "instance" [runners.autoscaler] plugin = "fleeting-plugin-aws"[[runners]] name = "my runner" url = "https://gitlab.com" token = "<token>" shell = "sh" executor = "instance" [runners.autoscaler] plugin = "fleeting-plugin-googlecloud"[[runners]] name = "my runner" url = "https://gitlab.com" token = "<token>" shell = "sh" executor = "instance" [runners.autoscaler] plugin = "fleeting-plugin-azure"Fleeting 플러그인 관리#
다음
fleeting서브 명령을 사용하여 fleeting 플러그인을 관리합니다:명령 설명 gitlab-runner fleeting installOCI 레지스트리 배포에서 fleeting 플러그인을 설치합니다. gitlab-runner fleeting list참조된 플러그인과 사용된 버전을 나열합니다. gitlab-runner fleeting login프라이빗 레지스트리에 로그인합니다.
