컴퓨팅 분
- GitLab 16.1에서 “CI/CD minutes”에서 “compute quota” 또는 “compute minutes”로 이름 변경됨.
GitLab.com에서 프로젝트가 인스턴스 러너를 사용하여 작업을 실행할 수 있는 시간은 제한되어 있습니다. 이 한도는 compute quota로 추적됩니다. 프로젝트 러너는 compute quota의 적용을 받지 않습니다.
기본적으로 단일 작업의 실행 시간 1분은 1개 compute minute를 사용합니다.
파이프라인의 총 컴퓨팅 사용량은 모든 작업의 지속 시간의 합을 사용하여 계산됩니다.
작업은 동시에 실행될 수 있으므로 총 사용량은 파이프라인의 시작부터 끝까지의 지속 시간보다 높을 수 있습니다.
GitLab.com에서는:
- 모든 프로젝트에 대해 compute quota가 활성화되어 있지만 특정
프로젝트는 compute minutes를 더 느린 속도로 소비합니다. - GitLab.com 네임스페이스의 기본 월간 compute quota는
라이선스 티어에 의해 결정됩니다. - 월간 쿼타의 컴퓨팅 양보다 더 많은 compute minutes가 필요한 경우
추가 compute minutes를 구매할 수 있습니다.
Compute quotas는 셀프 관리 인스턴스에서는 기본적으로 비활성화되어 있습니다.
Compute 사용량 보기
그룹 또는 개인 네임스페이스의 compute 사용량을 보고
컴퓨팅 사용량 추세와 남아 있는 compute minutes 수를 이해할 수 있습니다.
경우에 따라 쿼타 한도가 다음 레이블 중 하나로 대체됩니다:
- 무제한: 무제한 compute quota가 있는 네임스페이스의 경우.
- 지원되지 않음: 활성 인스턴스 러너가 활성화되지 않은 네임스페이스의 경우.
그룹의 사용량 쿼타 보고서 보기
- GitLab 15.0에서 프로젝트별 인스턴스 러너 지속시간 표시
필수 조건:
- 그룹에 대한 소유자 역할을 가지고 있어야 합니다.
그룹의 compute 사용량을 보려면:
- 왼쪽 사이드바에서 Search or go to를 선택하고
그룹을 찾습니다. 그룹은 하위 그룹이 아니어야 합니다. - Settings > Usage Quotas를 선택합니다.
- Pipelines 탭을 선택합니다.
프로젝트 목록은 현재 달의 compute 사용량 또는 인스턴스 러너 사용량이 있는 프로젝트 만 표시합니다.
목록에는 네임스페이스와 그 하위 그룹의 모든 프로젝트가 포함되며,
compute 사용량에 따라 내림차순으로 정렬됩니다.
개인 네임스페이스의 사용량 쿼타 보고서 보기
- GitLab 15.0에서 인스턴스 러너 지속시간 표시
개인 네임스페이스의 compute 사용량을 볼 수 있습니다:
- 왼쪽 사이드바에서 아바타를 선택합니다.
- Edit profile을 선택합니다.
- 왼쪽 사이드바에서 Usage Quotas를 선택합니다.
프로젝트 목록은 현재 달의 compute 사용량 또는 인스턴스 러너 사용량이 있는 개인 프로젝트만 표시합니다.
쿼타 초과
GitLab.com에서 남은 compute minutes가 다음 조건을 만족할 때
인앱 배너가 표시되고 네임스페이스 소유자에게 이메일 알림이 전송됩니다:
- 쿼타의 30% 미만.
- 쿼타의 5% 미만.
- 완전히 사용됨 (남은 시간 0분).
현재 달의 compute quota가 사용될 경우 인스턴스 러너는 새로운 작업의 처리를 중지합니다.
이미 시작된 파이프라인에서:
- 대기 중인 작업(아직 시작되지 않음)이거나 인스턴스 러너에 의해 처리해야 하는 재시도된 작업은 삭제됩니다.
- 인스턴스 러너에서 실행 중인 작업은 전체 네임스페이스 사용량이 쿼타를
초과할 때까지 계속 실행될 수 있습니다. 1,000 compute minutes의 유예 기간 후
나머지 실행 중인 작업도 삭제됩니다.
GitLab.com을 사용하는 경우
추가 컴퓨팅 패키지를 구매하여
인스턴스 러너에서 CI/CD 파이프라인을 계속 실행할 수 있습니다.
프로젝트 러너는 compute quota의 영향을 받지 않으며 작업 처리를 계속합니다.
컴퓨트 사용량 계산
GitLab은 작업의 컴퓨트 사용량을 계산하기 위해 다음 공식을 사용합니다:
작업 지속 시간 * 비용 요소
-
작업 지속 시간: 인스턴스 러너에서 작업이 실행되는 데 걸린 시간(초)으로,
created
또는pending
상태에서 소요된 시간은 포함되지 않습니다. - 비용 요소: 프로젝트 유형에 기반한 숫자입니다.
값은 컴퓨트 분으로 변환되어 작업의 최상위 네임스페이스에서 사용된 단위 수에 추가됩니다.
예를 들어, 사용자가 alice
가 파이프라인을 실행하면:
-
gitlab-org
네임스페이스의 프로젝트에서, 파이프라인의 각 작업이 사용한 컴퓨트 분은alice
네임스페이스가 아닌gitlab-org
네임스페이스의 전체 소비에 추가됩니다. - 자신의
alice
네임스페이스의 개인 프로젝트에서는, 컴퓨트 분이 자신의 네임스페이스의 전체 소비에 추가됩니다.
하나의 파이프라인에서 사용된 컴퓨트는 해당 파이프라인에서 실행된 모든 작업이 사용한 총 컴퓨트 분입니다. 작업은 동시에 실행될 수 있으므로, 총 컴퓨트 사용량은 파이프라인의 끝에서 끝까지 지속 시간보다 더 많이 높을 수 있습니다.
트리거 작업은 러너에서 실행되지 않으므로, strategy:depend
를 사용하여 다운스트림 파이프라인 상태를 기다리더라도 컴퓨트 분을 소모하지 않습니다. 트리거된 다운스트림 파이프라인은 다른 파이프라인과 동일하게 컴퓨트 분을 소모합니다.
비용 요소
GitLab.com의 인스턴스 러너에서 실행되는 작업의 기본 비용 요소는 다음과 같습니다:
- 내부, 공개 및 비공개 프로젝트에 대해
1
. 작업 실행 시간 1분마다 1 컴퓨트 분을 사용합니다. -
GitLab for Open Source 프로그램의 공개 프로젝트에 대해
0.5
. 작업 실행 시간 2분마다 1 컴퓨트 분을 사용합니다. -
GitLab for Open Source 프로그램의 공개 포크 프로젝트에 대해
0.008
. 작업 실행 시간 125분마다 1 컴퓨트 분을 사용합니다. - GitLab 프로젝트에 대한 커뮤니티 기여 시 동적으로 할인됩니다.
- 다른 유형의 인스턴스 러너를 사용할 경우 증가합니다.
자가 관리 인스턴스의 비용 요소는 다릅니다.
GitLab 프로젝트에 대한 커뮤니티 기여
커뮤니티 기여자는 GitLab이 유지 관리하는 오픈 소스 프로젝트에 기여할 때 인스턴스 러너에서 최대 300,000분을 사용할 수 있습니다. 300,000분의 최대치는 오직 GitLab 제품의 일부인 프로젝트에만 기여하는 경우에만 가능합니다. 인스턴스 러너에서 사용 가능한 총 분 수는 다른 프로젝트의 파이프라인에서 사용된 컴퓨트 분에 의해 줄어듭니다. 300,000분은 모든 GitLab.com 티어에 적용됩니다.
비용 요소 계산은 다음과 같습니다:
월별 컴퓨트 할당량 / 300,000 작업 지속 시간 분 = 비용 요소
예를 들어, 프리미엄 티어에서 월별 컴퓨트 할당량이 10,000인 경우:
- 10,000 / 300,000 = 0.03333333333 비용 요소.
이 축소된 비용 요소에 대해:
- 머지 요청 소스 프로젝트는
gitlab-com/www-gitlab-com
또는gitlab-org/gitlab
와 같은 GitLab이 유지 관리하는 프로젝트의 포크여야 합니다. - 머지 요청 대상 프로젝트는 포크의 부모 프로젝트여야 합니다.
- 파이프라인은 머지 요청, 병합 결과 또는 머지 트레인 파이프라인이어야 합니다.
GitLab 호스팅 러너 비용 요소
GitLab 호스팅 러너는 러너 유형(Linux, Windows, macOS) 및 가상 머신 구성에 따라 다양한 비용 요소가 있습니다:
GitLab 호스팅 러너 유형 | 머신 크기 | 비용 요소 |
---|---|---|
Linux x86-64 (기본) | small |
1 |
Linux x86-64 | medium |
2 |
Linux x86-64 | large |
3 |
Linux x86-64 | xlarge |
6 |
Linux x86-64 | 2xlarge |
12 |
Linux x86-64 + GPU 지원 |
medium , GPU 표준 |
7 |
Linux Arm64 | medium |
2 |
Linux Arm64 | large |
3 |
macOS M1 | medium |
6 (상태: Beta) |
Windows | medium |
1 (상태: Beta) |
월별 컴퓨트 사용량 초기화
매달 첫째 날, 모든 네임스페이스에 대해 누적 컴퓨트 사용량이 0
으로 초기화됩니다.
예를 들어, 월간 쿼터가 10,000 컴퓨트 분이 있다면:
- 4월 1일에는 10,000 컴퓨트 분이 사용 가능합니다.
- 4월 동안 10,000 컴퓨트 분 중 6,000을 사용합니다.
- 5월 1일, 누적 컴퓨트 사용량이 0으로 초기화되고, 5월에 사용할 수 있는 10,000 컴퓨트 분이 있습니다.
이전 달의 사용 데이터는 시간에 따른 소비의 역사적 보기를 보여주기 위해 유지됩니다.
컴퓨트 쿼타 사용량 감소
프로젝트에서 컴퓨트 쿼타를 너무 많이 소비하는 경우, 사용량을 줄이기 위해 사용할 수 있는 몇 가지 전략이 있습니다:
- 프로젝트 미러를 사용하는 경우, 미러 업데이트를 위한 파이프라인이 비활성화되어 있는지 확인하세요.
- 스케줄된 파이프라인의 빈도를 줄이세요.
- 필요하지 않을 때는 파이프라인 스킵하세요.
- 새 파이프라인이 시작될 경우 자동으로 취소될 수 있는 중단 가능 작업을 사용하세요.
- 모든 파이프라인에서 실행할 필요가 없는 작업은
rules
를 사용하여 필요할 때만 실행되도록 하세요. - 일부 작업에 대해 프라이빗 러너를 사용하세요.
- 포크에서 작업하고 부모 프로젝트에 병합 요청을 제출하는 경우, 유지 관리자가 부모 프로젝트에서 파이프라인을 실행하도록 요청할 수 있습니다.
오픈 소스 프로젝트를 관리하는 경우, 이러한 개선 사항은 기여자 포크 프로젝트의 컴퓨트 쿼타 소비를 줄이는데도 도움이 되어 더 많은 기여를 가능하게 합니다.
자세한 내용은 파이프라인 효율성 가이드를 참조하세요.