Testkube: Kubernetes 네이티브 테스트 프레임워크
테스트큐브란?
Testkube는 Kubernetes 네이티브 테스트 프레임워크입니다. Kubernetes 클러스터에서 직접 테스트를 실행한 다음 결과를 중앙 공간에 저장합니다. 다양한 테스트 유형을 컨테이너화하는 모든 문제를 추상화합니다. Testkube는 Kubernetes에서의 테스트를 원활한 클라우드 네이티브 환경으로 만듭니다.
TestKube는 중앙 집중식 테스트 결과를 제공하며 GitOps 및 CI/CD 절차와 간단하게 통합됩니다.
따라서 이 블로그에서는 다음을 다룰 것입니다.
전제 조건:
왜 TestKube인가?
TestKube CI/CD 파이프라인에서 수행되는 테스트 활동을 분리하고 Testkube에서 정의하므로 개별 테스트를 실행하기 위해 전체 CI/CD 파이프라인을 실행할 필요 없이 언제든지 테스트를 실행할 수 있으므로 CI/CD 플랫폼 간 이동이 더 용이해집니다. TestKube에서 테스트가 정의되고 조정된 방식을 재사용할 수 있으므로 모든 테스트를 재정의할 필요가 없습니다.
TestKube를 사용한 CI/CD 워크플로
TestKube가 없는 CI/CD 워크플로우
TestKube는 프로젝트 저장소에서 테스트 파일을 검색하고 원하는 대로 실행하기 때문에 테스트를 실행하기 위해 복잡한 설정을 수행할 필요가 없습니다.
CI/CD 테스트와 관련된 복잡성은 TestKube가 모든 테스트 활동을 자체적으로 관리하므로 단순화됩니다.
TestKube는 Kubernetes 클러스터 내부에서 모든 테스트 워크로드를 처리하기 위한 전체 인프라를 제공합니다.
TestKube가 당신을 위한 것입니까?
설치
$ kubectl testkube install
$ kubectl get pods -n testkube
이제 화면이 이렇게 됩니다👇
이제 클라이언트와 서버 버전을 모두 볼 수 있습니다.
$ kubectl testkube version
테스트를 실행하려면 이 명령을 실행하세요.👇
kubectl testkube run test our-first-test-name
화면은 이렇게 됩니다.👇
K6 테스트 실행
K6은 Testkube의 필수적인 부분입니다. Testkube 설치 중에 Testkube k6 실행기가 기본적으로 설치됩니다. K6 테스트를 수행하려면 먼저 Testkube에서 테스트를 빌드해야 합니다.
// bash
$ touch k6-test.js
// You can give any name
이제 k6 부하 테스트를 생성하고 실행해 보겠습니다. 이 코드 👇를 k6-test.js 파일 안에 작성하세요.
import http from 'k6/http';
import { check, sleep } from 'k6';
export const options = {
stages: [
{ duration: '5s', target: 20 },
{ duration: '5s', target: 10 },
],
};
export default function () {
const res = http.get('https://httpbin.test.k6.io/');
check(res, { 'status was 200': (r) => r.status == 200 });
sleep(2);
}
파일을 k6-test.js 또는 원하는 이름으로 저장합니다.
$ kubectl testkube create test --file path/to/your/k6-test.js --type "k6/script" --name k6-test
$ kubectl testkube run test k6-test -f
이제 Testkube 대시보드에서 로그와 테스트 결과를 볼 수 있습니다. 이 명령을 실행합니다.👇
$ kubectl testkube dashboard
감사합니다
이 블로그에서 무언가를 배우기를 바랍니다.
Reference
이 문제에 관하여(Testkube: Kubernetes 네이티브 테스트 프레임워크), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/adityasimant/testkube-the-kubernetes-native-testing-framework-3m4h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)