텍톤(Tekton)은 Kubernetes 기반의 CI/CD 워크로드를 실행하기 위한 오픈 소스 프레임워크이다. Cloud Native Buildpacks, Argo, Flux와 함께 CNCF(Cloud Native Computing Foundation) 생태계에서 사용되는 대표적인 배포 자동화 도구로, 파이프라인을 쿠버네티스 리소스로 선언적으로 정의하고 실행할 수 있다.
개요
Tekton은 CI/CD 빌드 및 배포 과정을 표준화된 쿠버네티스 객체로 정의할 수 있게 해 주며, 높은 확장성과 유연성을 제공한다. Task, Pipeline, Step, Workspace 등 구성 요소를 조합하여 복잡한 빌드 또는 배포 파이프라인을 Kubernetes 네이티브 방식으로 구성할 수 있다.
특징
- Kubernetes CRD(Custom Resource Definition) 기반
- 완전한 선언적 파이프라인 정의
- 컨테이너 기반 Task/Step 실행
- Tekton Pipelines / Triggers / Dashboard 등 모듈형 구조
- GitHub Actions, Jenkins, Argo CD 등과 함께 사용 가능
- 쿠버네티스 RBAC, 네임스페이스, 시크릿 연동 등 안정적인 보안 모델 제공
구성 요소
Tekton Pipelines
Tekton의 핵심 모듈로, 파이프라인을 정의하고 실행하는 엔진이다. Task, Step, Pipeline, PipelineRun 등 주요 리소스를 제공한다.
- Task — 특정 작업 단위를 정의하는 기본 요소
- Step — 컨테이너 기반으로 실행되는 실제 명령
- Pipeline — 여러 Task를 조합하여 순서·병렬 구조를 구성
- PipelineRun — Pipeline의 실제 실행 인스턴스
- Workspace — 작업 간 공유되는 파일 시스템
- Resource(deprecated) — 입력/출력 자원 정의(현재는 사용 감소)
Tekton Triggers
Git webhook, HTTP 요청, 이벤트 등을 기반으로 PipelineRun을 생성하고 실행하는 모듈이다.
예시 기능:
- GitHub Push/PR 이벤트로 Pipeline 자동 실행
- TriggerTemplate / TriggerBinding 기반 파라미터 전달
- EventListener를 통한 HTTP 엔드포인트 제공
Tekton Dashboard
파이프라인 상태를 GUI로 모니터링할 수 있는 웹 인터페이스이다.
제공 기능:
- PipelineRun 실행 상태 관찰
- 로그 조회
- TaskRun 상세 관찰
- 리소스 관리
Tekton CLI (tkn)
Tekton 리소스를 관리하고 파이프라인 실행을 모니터링하기 위한 CLI 도구이다.
사용 예:
tkn pipeline start build-pipeline
tkn pipelinerun logs my-run -f
tkn taskrun list
Tekton Hub
Tekton Hub는 재사용 가능한 Task 및 Pipeline 템플릿을 공유하는 공식 저장소이다. Docker Build, Git Clone, Kaniko Build 등 다양한 Task를 제공하며, YAML을 바로 가져와 파이프라인 구성에 사용할 수 있다.
예:
- git-clone
- buildpacks
- kaniko
- kubernetes-actions
Tekton의 장점
- 완전한 Kubernetes 네이티브 동작
- Task/Step 단위의 높은 유연성
- 모듈형 구조로 필요한 기능만 선택 가능
- 마이크로서비스 환경과 높은 호환성
- CI/CD 구성 요소를 모두 컨테이너 기반으로 정의 가능
Tekton의 단점
- YAML 구성량이 많아 초기 설정이 복잡할 수 있음
- Jenkins, GitHub Actions 대비 UI 경험이 부족함
- 파이프라인 디버깅 난이도가 높은 편
- 고급 기능 사용 시 RBAC·네트워크 정책 구성 필요
사용 사례
- Git Push 이벤트 기반 CI 파이프라인
- Docker 또는 OCI 이미지 빌드 및 Registry 푸시
- Kubernetes 애플리케이션 자동 배포
- Serverless 함수 빌드·배포
- 머신러닝 모델 빌드/검증/배포 일부 자동화
- Tekton + Argo CD 조합으로 GitOps 기반 CD 구축
경쟁 도구
- Jenkins
- GitHub Actions
- GitLab CI/CD
- CircleCI
- Argo Workflows
- Spinnaker