보조 러너
- GitLab 16.8에서 소개됨 플래그
geo_proxy_check_pipeline_refs
와 함께. 기본적으로 비활성화되어 있음.- GitLab 16.9에서 기본적으로 활성화됨.
보조 사이트에 대한 Geo 프록시를 사용하면 gitlab-runner
를 보조 사이트에 등록할 수 있습니다. 이는 기본 인스턴스의 부하를 분산시킵니다.
위치 인식 공용 URL(통합 URL)로 보조 러너 사용하기
위치 인식 DNS를 사용하면, 활성화된 기능 플래그가 추가 구성 없이 작동합니다. 보조 사이트와 동일한 위치에 러너를 설치하고 등록하면, 가장 가까운 사이트와 자동으로 통신하며, 보조 사이트의 데이터가 오래된 경우에만 기본 사이트로 프록시합니다.
별도의 URL로 보조 러너 사용하기
별도의 보조 URL을 사용할 경우, 러너는 다음과 같이 구성되어야 합니다:
- 보조 외부 URL로 등록해야 합니다.
-
clone_url
을 설정하여 보조 인스턴스의external_url
로 구성해야 합니다.
보조 러너를 사용한 계획된 장애 전환 처리
계획된 장애 전환을 실행할 때, 보조 러너는 로컬 인스턴스와 지속적으로 연결을 유지하려고 합니다. 이는 러너 용량을 감소시키며, 이를 고려해야 할 수 있습니다.
위치 인식 공용 URL로
위치 인식 DNS를 사용하면, 모든 러너가 자동으로 가장 가까운 Geo 사이트에 연결됩니다.
새로운 기본으로 장애 전환할 때:
- 이전 기본이 여전히 DNS 레코드에 있는 동안, 이전 기본과 연결되었던 모든 러너는 여전히 이전 기본에서 작업을 수신하려고 시도합니다. 접근할 수 없으면, 러너는 이것을 감지합니다 및 인스턴스가 복원된 후에는 오랜 시간 동안 요청을 중지합니다.
- 여러 보조 노드가 있는 경우, 초기 장애 전환 후 나머지 보조 노드는 새로운 기본으로 복제될 때까지 비정상 상태입니다. 이들에게 연결된 러너는 체크인을 할 수 없으며, 건강 검사도 시작됩니다.
- Geo DNS 항목에서 비정상 노드를 제거하면, 러너는 다음으로 가까운 인스턴스를 선택합니다. 아키텍처에 따라, 이는 원하는 결과가 아닐 수 있으며, 감소된 상태에서 사이트를 압도할 수 있습니다.
이 문제를 완화하기 위해, 사이트가 100% 기능을 회복할 때까지 일부 러너를 일시 중지하거나 종료할 수 있습니다.
이 문제에 대해 걱정하지 않는다면, 이곳에서 할 일은 없습니다.
별도의 URL 사용 시
-
이전 주 브랜치를 서비스를 재개하는 경우, 이전 주 브랜치 러너를 일시 중지하여 온라인으로 돌아올 때까지 대기하게 할 수 있습니다. 이는 헬스 체크가 시작되는 것을 방지합니다.
-
이전 주 브랜치가 반환되지 않거나 일시적으로 러너 용량이 감소하는 것을 피하고 싶다면, 주 러너를 새 주 브랜치에 연결하도록 재구성해야 합니다.
-
여러 개의 보조 주 브랜치를 사용할 경우, 러너는 일시 중지되거나 종료되거나 새 주 브랜치에 연결하도록 재구성되어야 하며, 이 과정에서 새 주 브랜치로 복제되어야 합니다.
러너 일시 중지
다음 방법을 사용하려면 관리자 접근 권한이 필요합니다:
-
관리자 영역을 통해:
-
왼쪽 사이드바 하단에서 관리자를 선택합니다.
-
설정 > 러너를 선택합니다.
-
일시 중지할 러너를 식별합니다.
-
일시 중지할 각 러너 옆의
pause
버튼을 선택합니다. -
장애 조치가 완료된 후, 이전 단계에서 일시 중지한 러너를 다시 활성화합니다.
-
-
러너 API 사용: