哈希节点社区您好!今天我们将发现一个很棒的 Kubernetes 开源测试工具。TestKube.

什么是TestKube?

Testkube 是一个 Kubernetes 原生测试框架。它可以直接在您的 Kubernetes 集群中运行测试,然后将结果保存到集中空间。它消除了容器化不同测试类型的所有麻烦。 Testkube 使 Kubernetes 中的测试成为一种流畅的云原生体验。

  • TestKube 为我们提供了集中的测试结果,并且易于与 GitOps 和 CI/CD 程序集成。

因此,在本博客中,我们将介绍:

  1. 为什么选择 Testkube?

  2. 适合你吗?

三、Testkube的安装

  1. 演示。

先决条件

  • K8s基础知识

为什么选择 TestKube?

TestKube 解耦在 CI/CD 管道上执行的测试活动,并在 Testkube 中定义它们,这样我们就可以随时运行我们的测试,而无需运行整个 CI/CD 管道来运行单个测试,因此跨 CI/CD 平台移动变得更容易访问因为我们不需要重新定义所有测试,因为我们可以重用在 TestKube 中定义和编排测试的方式。

CI/CD 工作流与 TestKube

image.png

没有 TestKube 的 CI/CD 工作流

image.png

由于 TestKube 从项目存储库中检索测试文件并根据需要执行它们,因此您无需执行任何复杂的设置即可运行测试。

与 CI/CD 测试相关的复杂性被简化为 TestKube 自己管理所有测试活动。

TestKube 提供了整个基础架构,用于处理 Kubernetes 集群内部的所有测试工作负载。

TestKube 适合你吗?

  • 如果您在 Kubernetes 下为您的应用程序进行集成测试,Testkube 适合您。

  • 如果您希望超越 K8 的限制,例如网络限制或无法访问测试环境

  • 如果你的 CI/CD 和测试过程关联太紧密

安装

所以,安装TestKube你可以通过这个详细指南,或者你也可以观看这个视频(从03:23开始)。

  • 现在,打开你的终端并写下这个命令。👇
$ kubectl testkube install

安装后,您将可以看到此屏幕👇

WHWUjdAYr.png

注意- 这只有在您的系统中已经安装了 K8s 时才可见。

  • 现在,运行这个👇命令来查看所有的TestKube组件。
$ kubectl get pods -n testkube

现在,您的屏幕将如下所示👇

Cg66jmHH655.png

现在,我们将能够看到客户端和服务器版本。

  • 要查看**TestKube的版本,**运行这个命令。👇
$ kubectl testkube version
  • 屏幕会是这个样子👇

this.png

注意 - TestKube 安装在一个空集群中。我们需要一些服务来测试

要运行您的测试,请运行此命令。👇

kubectl testkube run test our-first-test-name

屏幕将如下所示。👇

twooo.png

📌整个过程会是这个样子。👇

testkube-intro.gif

使用 K6 和 Testkube 进行测试的演示

现在,我们将去看一个使用 k6Testkube. 的演示。

运行 K6 测试

K6 是 Testkube 不可或缺的一部分。在 Testkube 安装过程中,默认安装 Testkube k6 执行器。您必须首先在 Testkube 中构建一个测试才能执行 K6 测试。

  • 新建一个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

现在,仪表板将如下所示。👇

image.png

谢谢

我希望你能从这个博客中学到一些东西。您可以查看这个视频以了解有关 Testkube 的更多信息。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐