목록 보기
쿠버네티스에게 Github Actions 설치에 대해 묻다
데브옵스

쿠버네티스에게 Github Actions 설치에 대해 묻다

버즈빌
버즈빌
2024년 1월 1일

두줄요약

Kubernetes에 GitHub 지원 ARC Runner Scale Sets를 설치해 자체 호스팅 러너를 운영하는 방식을 설명했습니다.\n자동 확장, IRSA 권한 제어, 커스텀 이미지와 컨테이너 모드 선택 기준을 다뤘습니다.

문제 상황

  • GitHub-hosted 러너의 빌드 환경 제어 제약, 내부망 접근 보안 이슈, CI 시간·비용 비효율
  • VM 기반 자체 호스팅의 과소·과다 프로비저닝에 따른 빌드 지연 또는 리소스 낭비

선택 이유

  • Kubernetes 파드별 워크플로 특성에 맞춘 리소스 할당과 자동 확장
  • 대기 러너 유지 및 빠른 파드 할당을 통한 Pending 시간 감소
  • 커뮤니티 ARC 레거시화에 따른 미래 마이그레이션 비용 회피를 위해 GitHub 지원 Runner Scale Sets 모드 선택

구조와 흐름

  • controller의 GitHub API 호출과 러너 상태 업데이트
  • listener의 GitHub 서버 long-poll 연결 및 부족한 러너 레플리카 확장
  • runner의 격리된 잡 실행 환경과 GitHub 서버 long-poll 연결

주의할 점

  • minRunners를 업무 시간 수요에 맞추고 CronJob으로 조정하는 비용·속도 균형
  • IRSA 기반 러너 그룹별 AWS 권한 제한과 커스텀 러너 이미지 구성
  • dind의 Docker 이미지 빌드 편의성과 privileged 모드 보안 제약, kubernetes 모드의 높은 보안성과 빌드 방식 제한

다음 읽기

#Kubernetes 주제를 이어서 읽기

쿠버네티스에게 Github Actions 설치에 대해 묻다

GitHub Actions를 self-hosted로 설치하고 운영한 경험을 공유하는 글입니다. CI/CD 효율을 높이기 위해 자체 호스팅을 선택한 배경을 설명합니다.

버즈빌
버즈빌
데브옵스

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...