gpt4 book ai didi

java - 使用 "helm test"集成测试部署的服务

转载 作者:行者123 更新时间:2023-12-02 01:27:26 26 4
gpt4 key购买 nike

我正在使用 Helm Chart 将多个 REST 服务部署到 Microsoft Azure。其中一些服务相互通信并与某些数据库通信。部署后,我想测试“一切”是否按预期工作。更准确地说,我想向其中一项服务发送一些 HTTP 请求,并检查响应是否有意义。当然是在自动化测试中。

我发现部署后可以使用 "helm test" 运行基本命令,但这并不完全是我所需要的。

在一些早期的方法中,我使用了 Newman执行 Postman部署后收集在脚本中。Postman集合定义了几个请求和相应的测试。

现在我不知道如何在新环境(Azure)和部署管道(helm、k8s)中进行操作。

如果能再次拥有这样的东西就好了。但对我来说,不清楚如何做到这一点,例如

  • 如何在“helm test”范围内使用 Newman?
  • 如何确保在开始测试之前已部署的 Pod 全部“正在运行”(需要等待一些时间?状态检查?)?

newman run "test.postman_collection.json"-e "azure.postman_environment.json"--bail

最佳答案

Helm 测试非常灵活,因为它运行任何 Kubernetes YAML,包括任何 Docker 镜像。例如,您可以检查 tests for the MySQL Helm Chart .

那么,回答你的问题:

  1. 要使用 Newman,您只需找到一个安装了 Newman 的 Docker 镜像(例如官方镜像 postman/newman 或构建您自己的镜像)。要使用 JSON 配置文件,您可以将它们作为 ConfigMap 或将它们复制到容器中。查看 MySQL Helm Chart 了解更多详细信息。

  2. 您是对的,您需要等到系统准备好后再运行测试。 AFAIK 这不属于 Helm Test 的范围。因此,您需要将 sleep 放入脚本中,或者主动使用 kubectl 检查,直到 POD 准备就绪。

关于java - 使用 "helm test"集成测试部署的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56688514/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com