위키득계정 ↗
기술

Chainsaw

Chainsaw기술
대표 대상
Kubernetes 오퍼레이터와 컨트롤러
시험 방식
단계 실행과 조건 검증
초기 용도
Kyverno 종단 간 시험
실행 위치
로컬과 지속적 통합 환경
Chainsaw는 Kubernetes 오퍼레이터와 컨트롤러의 동작을 선언형으로 검증하는 시험 도구다. 단계별 작업을 실행하고 기대 조건을 확인하는 방식으로 클러스터 통합 시험을 작성한다.

명령 성공과 동작 검증

컨트롤러를 시험할 때는 리소스 생성 명령이 성공했는지만 확인해서는 부족하다. 이후 컨트롤러가 기대한 변화를 만들었는지도 살펴야 한다. Chainsaw는 여러 단계를 순서대로 수행하고 각종 조건을 검증해 이러한 동작을 시험하도록 한다.

리소스와 기대 조건

처음에는 Kyverno의 종단 간 시험을 위해 개발됐지만 다른 Kubernetes 객체도 선언형으로 시험할 수 있다. 정책이나 리소스를 준비하고 그 결과 상태를 확인하는 흐름을 구성한다. 시험에서 수행할 변경과 확인할 조건을 함께 표현하는 것이 핵심이다.

반복 가능한 검토 흐름

명령줄 도구를 빌드 스크립트에서 실행하거나 로컬에서 사용할 수 있다. 다만 도구가 제공하는 검증 구조만으로 모든 동작이 자동 확인되는 것은 아니다. 시험 대상과 기대 조건, 작업 후 정리 범위를 명확히 정하고 실제 애플리케이션의 응답 검증이 필요한지도 구분해야 한다.

관련 문서

Testkube / KUTTL / Kyverno / Kind Kubernetes 도구