如何在部署到 kubernetes 之前测试我的微服务?

zer*_*ing 3 testing automated-tests kubernetes microservices

我正在创建一个非常小的微服务环境用于测试目的。它看起来如下:

在此处输入图片说明

正如您在图像中看到的,Istio 安装在 k8s 集群中以使用服务网格。

我写了BOO服务,但不知道如何测试服务,因为它调用FOOZOO服务。

我可以模拟FOOZOO服务,但是当将来BOO服务调用 10 个进一步的服务时,那么模拟所有服务确实有意义。

在部署到 kubernetes 之前测试我的微服务的最佳方法是什么?

Dav*_*aze 6

将它们部署到 Kubernetes,但不是生产环境。

有几种直接的方法可以获取 Kubernetes 集群。您可以使用minikubekind等工具在本地系统上(分别在 VM 或 Docker 容器中)获取 Kubernetes 集群;如果您处于云环境中,那么 Amazon EKS 或 Google GKE 之类的产品可以为您提供任意大小的集群。拥有集群后,您可以在其上安装 Helm (v2) 和 Istio 等工具,然后运行与您通常将服务部署到该集群时完全相同的部署脚本。

如果这变成了大量服务,那么让测试环境一直运行并设置 CI 系统以部署到生产和测试环境中可能会很有用。

即使这样,您在此处描述的模拟方法仍有空间:使用其本地单元测试树测试和调试服务比将其部署在某处要容易得多。我通常基于模拟服务编写单元测试,然后还基于已部署的一组服务编写集成测试(如果集成测试失败,则使用模拟重现问题)。