Tekton: 클라우드 네이티브 시대에 최적화된 CI/CD 도구

1–2분

들어가며

Tekton은 kuberenetes를 기반으로 한 오픈소스 프레임워크로, CI/CD 파이프라인을 구축하는데 사용하는데 기본 개념에 대해 알아보는 시간을 가져보도록 하겠습니다.

Tekton이란?

Tekton의 핵심 컴포넌트는 파이프라인, 작업, 작업 단계 및 트리거입니다.
구성요소
Tasks작업은 일반적으로 테스트와 같은 파이프라인의 일부로 pod에서 실행되는 작업
Steps작업의 일부로 실행되는 단일 작업
pipelines테스크로 구성된 워크 플로우이다. 테스트 및 빌드 작업, 파이프라인은 작업 간의 종속성을 지시
Task runs테스크의 단일 실행
pipeline runs파이프라인 실행은 파이프라인이 실행하는 테스크를 실행하는 데 필요한 테스크 실행 리소스를 생성
parameters파이프라인 또는 테스크와 같은 리소스는 파라미터 설정이 가능
workspaces워크스페이스는 저장소를 나타냄, 파이프라인 및 테스트 리소스는 내부의 특정 디렉토리에서 작업공간 선언이 가능
triggerGit push액션과 같은 외부 이벤트 기반으로 파이프라인을 실행 가능

Tekton VS Jenkins

Cloud Navive 도입으로 인한 CI/CD 도구의 변화 필요성
Tekton과 Jenkins를 한번 비교 해보자
JenkinsTekton
솔루션 형태일반적인 목적의 자동화클라우드 네이티브 CI/CD 전문 도구
아키텍처중앙화, 컨트롤 노드가 다른 노드를 관리함분산화, 테스크는 pod에서 실행
컨테이너 지원 여부플러그인 필요컨테이너 우선, 모든 단계는 pod에 컨테이너로 실행
확장성플러그인으로 확장 가능재사용이 가능한 pod또는 파이프라인 (참고: https://hub.tekton.dev/)
작업주체Jenkinsfile커스텀된 리소스(task)
파이프라인 주체Jenkinsfile커스텀된 리소스(pipelines)
실행Jenkins UI에서 실행PipelineRun / TaskRun

마치며…

Tekton은 Cloud Native 시대에 최적화된 CI/CD 도구 이다. 예전에는 Jenkins를 많이 사용 했지만 바뀐 시대에 맞게 변화가 필요할 것이다.

새로운 물은 새 그릇에 담으라는 말이 있듯이 Cloud Native 시대에 도래함에 따라 맞는 기술을 사용해야 할 것이다.

다음 글 포스팅은 Tekton을 통한 파이프라인 작성법 및 실행방법에 대해 작성해 볼 예정이다. 많은 관심 부탁드린다.