Testkube: Kubernetes 네이티브 테스트 프레임워크

테스트큐브란?



Testkube는 Kubernetes 네이티브 테스트 프레임워크입니다. Kubernetes 클러스터에서 직접 테스트를 실행한 다음 결과를 중앙 공간에 저장합니다. 다양한 테스트 유형을 컨테이너화하는 모든 문제를 추상화합니다. Testkube는 Kubernetes에서의 테스트를 원활한 클라우드 네이티브 환경으로 만듭니다.

TestKube는 중앙 집중식 테스트 결과를 제공하며 GitOps 및 CI/CD 절차와 간단하게 통합됩니다.

따라서 이 블로그에서는 다음을 다룰 것입니다.
  • 왜 Testkube인가?
  • 당신을 위한 것인가요?
  • Testkube 설치
  • 데모.

  • 전제 조건:


  • K8s 기본지식

  • 왜 TestKube인가?



    TestKube CI/CD 파이프라인에서 수행되는 테스트 활동을 분리하고 Testkube에서 정의하므로 개별 테스트를 실행하기 위해 전체 CI/CD 파이프라인을 실행할 필요 없이 언제든지 테스트를 실행할 수 있으므로 CI/CD 플랫폼 간 이동이 더 용이해집니다. TestKube에서 테스트가 정의되고 조정된 방식을 재사용할 수 있으므로 모든 테스트를 재정의할 필요가 없습니다.

    TestKube를 사용한 CI/CD 워크플로





    TestKube가 없는 CI/CD 워크플로우





    TestKube는 프로젝트 저장소에서 테스트 파일을 검색하고 원하는 대로 실행하기 때문에 테스트를 실행하기 위해 복잡한 설정을 수행할 필요가 없습니다.

    CI/CD 테스트와 관련된 복잡성은 TestKube가 모든 테스트 활동을 자체적으로 관리하므로 단순화됩니다.

    TestKube는 Kubernetes 클러스터 내부에서 모든 테스트 워크로드를 처리하기 위한 전체 인프라를 제공합니다.

    TestKube가 당신을 위한 것입니까?


  • Kubernetes에서 애플리케이션에 대한 통합 테스트를 수행하는 경우 Testkube가 적합합니다.
  • 네트워크 제한이나 테스트 환경에 대한 액세스 부족과 같은 K8의 한계를 극복하려는 경우
  • CI/CD와 테스트 프로세스가 너무 밀접하게 관련된 경우

  • 설치


  • 이제 터미널을 열고 이 명령어를 작성하세요.👇$ kubectl testkube install
  • 이제 이 👇 명령을 실행하여 모든 TestKube 구성 요소를 봅니다.$ kubectl get pods -n testkube

  • 이제 화면이 이렇게 됩니다👇



    이제 클라이언트와 서버 버전을 모두 볼 수 있습니다.
  • TestKube의 버전을 보려면 다음 명령어를 실행하세요.👇$ kubectl testkube version

  • 테스트를 실행하려면 이 명령을 실행하세요.👇kubectl testkube run test our-first-test-name

    화면은 이렇게 됩니다.👇


    K6 테스트 실행



    K6은 Testkube의 필수적인 부분입니다. Testkube 설치 중에 Testkube k6 실행기가 기본적으로 설치됩니다. K6 테스트를 수행하려면 먼저 Testkube에서 테스트를 빌드해야 합니다.
  • 새 JS 파일을 만듭니다.

  • // 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 또는 원하는 이름으로 저장합니다.
  • 이제 테스트 스크립트를 실행합니다. 먼저 k6/script 👇로 정의해야 합니다.

  • 
    $ 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
    
    


    감사합니다



    이 블로그에서 무언가를 배우기를 바랍니다.

    좋은 웹페이지 즐겨찾기