필수 조건
ARC를 사용하려면 다음이 있는지 확인합니다.
-
Kubernetes 클러스터
- 관리 클라우드 환경의 경우 AKS를 사용할 수 있습니다. 자세한 내용은 Azure 설명서의 Azure Kubernetes Service 참조하세요.
- 로컬 설정의 경우 minikube 또는 kind를 사용할 수 있습니다. 자세한 내용은 minikube 설명서의 minkube 시작 및 kind 설명서의 kind를 참조하세요.
-
Helm 3
- 자세한 내용은 Helm 설명서에서 "Helm 설치"를 참조하세요.
-
ARC를 배포할 필요는 없지만 프로덕션 워크플로에서 ARC를 배포하기 전에 컨트롤러, 수신기 및 임시 실행기에서 로그를 수집하고 유지하는 방법을 구현했는지 확인하는 것이 좋습니다.
Actions Runner Controller 설치
-
클러스터에 운영자 및 CRD(사용자 지정 리소스 정의)를 설치하려면 다음을 수행합니다.
- Helm 차트에서
NAMESPACE값을 운영자 포드가 생성될 위치로 업데이트합니다. 이 네임스페이스는 Kubernetes API 서버에 대한 액세스를 허용해야 합니다. - Helm 차트를 설치하세요.
다음 예에서는 차트의 최신 버전을 설치합니다. 특정 버전을 설치하려면 설치하려는 차트 버전과 함께
--version인수를 전달할 수 있습니다. GitHub Container Registry 릴리스 목록을 찾을 수 있습니다.Bash NAMESPACE="arc-systems" helm install arc \ --namespace "${NAMESPACE}" \ --create-namespace \ oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controllerNAMESPACE="arc-systems" helm install arc \ --namespace "${NAMESPACE}" \ --create-namespace \ oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set-controller추가 Helm 구성 옵션은 ARC 설명서의
values.yaml을 참조하세요. - Helm 차트에서
-
ARC에서 GitHub에 인증할 수 있도록 하려면 personal access token (classic)을(를) 생성합니다. 자세한 내용은 GitHub API에 ARC 인증을(를) 참조하세요.
실행기 스케일 집합 구성
-
ARC 구성의 값을 사용하여 터미널에서 다음 명령을 실행하여 실행기 Scale Set를 구성하세요.
명령을 실행할 때 다음 사항에 유의하세요.
-
`INSTALLATION_NAME` 값을 신중하게 업데이트하세요. 설치 이름을 워크플로의 `runs-on` 값으로 사용합니다. 자세한 내용은 [AUTOTITLE](/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idruns-on)을(를) 참조하세요. -
`NAMESPACE` 값을 실행기 Pod를 만들려는 위치로 업데이트하세요. -
`GITHUB_CONFIG_URL`을 리포지토리, 조직 또는 엔터프라이즈의 URL로 설정합니다. 러너가 속하게 될 엔터티입니다. -
`GITHUB_PAT`을 저장소 및 조직 러너에 대한 `repo` 및 `manage_runners:org` 범위와 엔터프라이즈 러너에 대한 `manage_runners:enterprise` 범위를 가진 GitHub personal access token로 설정합니다. -
이 예제 명령은 Helm 차트의 최신 버전을 설치합니다. 특정 버전을 설치하려면 설치하려는 차트 버전과 함께
--version인수를 전달할 수 있습니다. GitHub Container Registry 릴리스 목록을 찾을 수 있습니다.참고
- 데이터 재사용 가능 항목.actions.actions-runner-controller-security-practices-namespace %}
- 보안을 위해 Kubernetes 비밀을 만들고 비밀 참조를 전달합니다. 비밀을 CLI에서 일반 텍스트로 전달하면 보안 위험이 발생할 수 있습니다. 자세한 정보는 Actions Runner Controller 사용 실행기 Scale Set 배포을 참고하시기 바랍니다.
Bash INSTALLATION_NAME="arc-runner-set" NAMESPACE="arc-runners" GITHUB_CONFIG_URL="https://github.com/<your_enterprise/org/repo>" GITHUB_PAT="<PAT>" helm install "${INSTALLATION_NAME}" \ --namespace "${NAMESPACE}" \ --create-namespace \ --set githubConfigUrl="${GITHUB_CONFIG_URL}" \ --set githubConfigSecret.github_token="${GITHUB_PAT}" \ oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-setINSTALLATION_NAME="arc-runner-set" NAMESPACE="arc-runners" GITHUB_CONFIG_URL="https://github.com/<your_enterprise/org/repo>" GITHUB_PAT="<PAT>" helm install "${INSTALLATION_NAME}" \ --namespace "${NAMESPACE}" \ --create-namespace \ --set githubConfigUrl="${GITHUB_CONFIG_URL}" \ --set githubConfigSecret.github_token="${GITHUB_PAT}" \ oci://ghcr.io/actions/actions-runner-controller-charts/gha-runner-scale-set추가 Helm 구성 옵션은 ARC 설명서의
values.yaml을 참조하세요.
-
-
터미널에서 다음 명령을 실행하여 설치를 확인합니다.
Bash helm list -A
helm list -A다음과 유사한 결과가 표시됩니다.
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION arc arc-systems 1 2023-04-12 11:45:59.152090536 +0000 UTC deployed gha-runner-scale-set-controller-0.4.0 0.4.0 arc-runner-set arc-runners 1 2023-04-12 11:46:13.451041354 +0000 UTC deployed gha-runner-scale-set-0.4.0 0.4.0 -
관리자 Pod를 확인하려면 터미널에서 다음 명령을 실행합니다.
Bash kubectl get pods -n arc-systems
kubectl get pods -n arc-systems모든 항목이 성공적으로 설치되면 Pod의 상태가 실행 중으로 표시됩니다.
NAME READY STATUS RESTARTS AGE arc-gha-runner-scale-set-controller-594cdc976f-m7cjs 1/1 Running 0 64s arc-runner-set-754b578d-listener 1/1 Running 0 12s
설치에 성공하지 못한 경우 문제 해결을 위해 Actions Runner Controller 오류 문제 해결에서 참조하세요.
실행기 스케일 세트 사용
이제 스케일 세트 러너를 활용하여 간단한 테스트 워크플로를 만들고 실행해보겠습니다.
-
리포지토리에서 다음 예제와 유사한 워크플로를 만듭니다. 값은
runs-on자동 스케일링 러너 세트를 설치할 때 사용한 Helm 설치 이름과 일치해야 합니다.리포지토리에 작업 흐름 추가에 대한 자세한 내용은 GitHub Actions에 대한 빠른 시작 가이드을(를) 참조하세요.
YAML name: Actions Runner Controller Demo on: workflow_dispatch: jobs: Explore-GitHub-Actions: # You need to use the INSTALLATION_NAME from the previous step runs-on: arc-runner-set steps: - run: echo "🎉 This job uses runner scale set runners!"name: Actions Runner Controller Demo on: workflow_dispatch: jobs: Explore-GitHub-Actions: # You need to use the INSTALLATION_NAME from the previous step runs-on: arc-runner-set steps: - run: echo "🎉 This job uses runner scale set runners!" -
리포지토리에 워크플로를 추가한 후 워크플로를 수동으로 트리거합니다. 자세한 내용은 수동으로 워크플로 실행을(를) 참조하세요.
-
터미널에 아래 명령어를 입력하면 워크플로 실행 과정에서 생성되는 러너 포드의 상태를 점검할 수 있습니다.
Bash kubectl get pods -n arc-runners -w
kubectl get pods -n arc-runners -w성공하면 출력은 다음과 유사하게 표시됩니다.
NAMESPACE NAME READY STATUS RESTARTS AGE arc-runners arc-runner-set-rmrgw-runner-p9p5n 1/1 Running 0 21s
다음 단계
Actions Runner Controller를 활용하면 GitHub Actions 실행기를 효율적으로 관리할 수 있습니다. 시작할 준비가 되셨나요? ARC를 사용하여 다음 단계를 수행하는 데 유용한 몇 가지 리소스는 다음과 같습니다.
- 인증 정보에 대한 자세한 내용은 GitHub API에 ARC 인증을(를) 참조하세요.
- 워크플로에서 ARC 실행기를 사용하는 방법에 대한 도움말은 워크플로에서 액션즈 러너 컨트롤러 실행기 사용을(를) 참조하세요.
- 배포 정보는 Actions Runner Controller 사용 실행기 Scale Set 배포을(를) 참조하세요.
법적 고지
행동 실행자 컨트롤러 법적 고지