InfoGrab Docs

GitLab Runner 오토스케일링

요약

GitLab Runner 오토스케일링을 사용하여 퍼블릭 클라우드 인스턴스에서 러너를 자동으로 확장할 수 있습니다. 퍼블릭 클라우드 인스턴스의 오토스케일링 옵션 외에도 러너 플릿을 호스팅하고 확장하기 위해 다음 컨테이너 오케스트레이션 솔루션을 사용할 수 있습니다.

GitLab Runner 오토스케일링을 사용하여 퍼블릭 클라우드 인스턴스에서 러너를 자동으로 확장할 수 있습니다. 오토스케일러를 사용하도록 러너를 구성하면 클라우드 인프라에서 여러 잡을 동시에 실행하여 증가된 CI/CD 잡 부하를 처리할 수 있습니다.

퍼블릭 클라우드 인스턴스의 오토스케일링 옵션 외에도 러너 플릿을 호스팅하고 확장하기 위해 다음 컨테이너 오케스트레이션 솔루션을 사용할 수 있습니다.

  • Red Hat OpenShift Kubernetes 클러스터
  • Kubernetes 클러스터: AWS EKS, Azure, 온프레미스
  • AWS Fargate의 Amazon Elastic Container Services 클러스터

러너 매니저 구성#

Docker Machine 오토스케일링 솔루션과 GitLab Runner Autoscaler 모두 GitLab Runner 오토스케일링을 사용하려면 러너 매니저를 구성해야 합니다.

러너 매니저는 오토스케일링을 위해 여러 러너를 생성하는 러너 유형입니다. GitLab에서 잡을 지속적으로 폴링하고 퍼블릭 클라우드 인프라와 상호작용하여 잡을 실행할 새 인스턴스를 생성합니다. 러너 매니저는 GitLab Runner가 설치된 호스트 머신에서 실행되어야 합니다. Docker와 GitLab Runner가 지원하는 Ubuntu, Debian, CentOS 또는 RHEL과 같은 배포판을 선택하세요.

  1. 러너 매니저를 호스팅할 인스턴스를 생성합니다. 이는 스팟 인스턴스(AWS) 또는 스팟 가상 머신(GCP, Azure)이어서는 안 됩니다.
  2. 인스턴스에 GitLab Runner를 설치합니다.
  3. Runner Manager 호스트 머신에 클라우드 공급자 자격 증명을 추가합니다.
Note

러너 매니저를 컨테이너에 호스팅할 수 있습니다. GitLab 호스팅 러너의 경우 러너 매니저는 가상 머신 인스턴스에 호스팅됩니다.

GitLab Runner Docker Machine 오토스케일링을 위한 자격 증명 구성 예시#

이 스니펫은 config.toml 파일의 runners.machine 섹션에 있습니다.

  [runners.machine]
    IdleCount = 1
    IdleTime = 1800
    MaxBuilds = 10
    MachineDriver = "amazonec2"
    MachineName = "gitlab-docker-machine-%s"
    MachineOptions = [
      "amazonec2-access-key=XXXX",
      "amazonec2-secret-key=XXXX",
      "amazonec2-region=eu-central-1",
      "amazonec2-vpc-id=vpc-xxxxx",
      "amazonec2-subnet-id=subnet-xxxxx",
      "amazonec2-zone=x",
      "amazonec2-use-private-address=true",
      "amazonec2-security-group=xxxxx",
    ]
Note

자격 증명 파일은 선택 사항입니다. AWS 환경의 러너 매니저에 AWS Identity and Access Management(IAM) 인스턴스 프로파일을 사용할 수 있습니다. AWS에서 러너 매니저를 호스팅하지 않으려면 자격 증명 파일을 사용할 수 있습니다.

내결함성 설계 구현#

내결함성 설계를 만들고 러너 매니저 호스트 장애를 방지하기 위해 동일한 러너 태그를 사용하는 최소 두 개의 러너 매니저로 시작하세요.

예를 들어 GitLab.com에서 Linux 호스팅 러너를 위해 여러 러너 매니저가 구성되어 있습니다. 각 러너 매니저는 saas-linux-small-amd64 태그를 가지고 있습니다.

오토스케일링 파라미터를 조정할 때 관찰 가능성과 러너 플릿 메트릭을 사용하여 조직의 CI/CD 워크로드에 대한 효율성과 성능의 균형을 맞추세요.

러너 오토스케일링 Executor 구성#

러너 매니저를 구성한 후 오토스케일링에 특정한 executor를 구성합니다:

Note

Instance 및 Docker Autoscaling executor를 사용해야 합니다. 이는 Docker Machine 오토스케일러를 대체하는 기술입니다.

GitLab Runner 오토스케일링

Tier: Free, Premium, Ultimate
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
원문 보기
요약

GitLab Runner 오토스케일링을 사용하여 퍼블릭 클라우드 인스턴스에서 러너를 자동으로 확장할 수 있습니다. 퍼블릭 클라우드 인스턴스의 오토스케일링 옵션 외에도 러너 플릿을 호스팅하고 확장하기 위해 다음 컨테이너 오케스트레이션 솔루션을 사용할 수 있습니다.

GitLab Runner 오토스케일링을 사용하여 퍼블릭 클라우드 인스턴스에서 러너를 자동으로 확장할 수 있습니다. 오토스케일러를 사용하도록 러너를 구성하면 클라우드 인프라에서 여러 잡을 동시에 실행하여 증가된 CI/CD 잡 부하를 처리할 수 있습니다.

퍼블릭 클라우드 인스턴스의 오토스케일링 옵션 외에도 러너 플릿을 호스팅하고 확장하기 위해 다음 컨테이너 오케스트레이션 솔루션을 사용할 수 있습니다.

  • Red Hat OpenShift Kubernetes 클러스터
  • Kubernetes 클러스터: AWS EKS, Azure, 온프레미스
  • AWS Fargate의 Amazon Elastic Container Services 클러스터

러너 매니저 구성#

Docker Machine 오토스케일링 솔루션과 GitLab Runner Autoscaler 모두 GitLab Runner 오토스케일링을 사용하려면 러너 매니저를 구성해야 합니다.

러너 매니저는 오토스케일링을 위해 여러 러너를 생성하는 러너 유형입니다. GitLab에서 잡을 지속적으로 폴링하고 퍼블릭 클라우드 인프라와 상호작용하여 잡을 실행할 새 인스턴스를 생성합니다. 러너 매니저는 GitLab Runner가 설치된 호스트 머신에서 실행되어야 합니다. Docker와 GitLab Runner가 지원하는 Ubuntu, Debian, CentOS 또는 RHEL과 같은 배포판을 선택하세요.

  1. 러너 매니저를 호스팅할 인스턴스를 생성합니다. 이는 스팟 인스턴스(AWS) 또는 스팟 가상 머신(GCP, Azure)이어서는 안 됩니다.
  2. 인스턴스에 GitLab Runner를 설치합니다.
  3. Runner Manager 호스트 머신에 클라우드 공급자 자격 증명을 추가합니다.
Note

러너 매니저를 컨테이너에 호스팅할 수 있습니다. GitLab 호스팅 러너의 경우 러너 매니저는 가상 머신 인스턴스에 호스팅됩니다.

GitLab Runner Docker Machine 오토스케일링을 위한 자격 증명 구성 예시#

이 스니펫은 config.toml 파일의 runners.machine 섹션에 있습니다.

  [runners.machine]
    IdleCount = 1
    IdleTime = 1800
    MaxBuilds = 10
    MachineDriver = "amazonec2"
    MachineName = "gitlab-docker-machine-%s"
    MachineOptions = [
      "amazonec2-access-key=XXXX",
      "amazonec2-secret-key=XXXX",
      "amazonec2-region=eu-central-1",
      "amazonec2-vpc-id=vpc-xxxxx",
      "amazonec2-subnet-id=subnet-xxxxx",
      "amazonec2-zone=x",
      "amazonec2-use-private-address=true",
      "amazonec2-security-group=xxxxx",
    ]
Note

자격 증명 파일은 선택 사항입니다. AWS 환경의 러너 매니저에 AWS Identity and Access Management(IAM) 인스턴스 프로파일을 사용할 수 있습니다. AWS에서 러너 매니저를 호스팅하지 않으려면 자격 증명 파일을 사용할 수 있습니다.

내결함성 설계 구현#

내결함성 설계를 만들고 러너 매니저 호스트 장애를 방지하기 위해 동일한 러너 태그를 사용하는 최소 두 개의 러너 매니저로 시작하세요.

예를 들어 GitLab.com에서 Linux 호스팅 러너를 위해 여러 러너 매니저가 구성되어 있습니다. 각 러너 매니저는 saas-linux-small-amd64 태그를 가지고 있습니다.

오토스케일링 파라미터를 조정할 때 관찰 가능성과 러너 플릿 메트릭을 사용하여 조직의 CI/CD 워크로드에 대한 효율성과 성능의 균형을 맞추세요.

러너 오토스케일링 Executor 구성#

러너 매니저를 구성한 후 오토스케일링에 특정한 executor를 구성합니다:

Note

Instance 및 Docker Autoscaling executor를 사용해야 합니다. 이는 Docker Machine 오토스케일러를 대체하는 기술입니다.