gpt4 book ai didi

kubernetes - kubernetes集成测试

转载 作者:行者123 更新时间:2023-12-02 12:10:55 33 4
gpt4 key购买 nike

我有3个微服务,其中服务A与服务B和C对话,而C可以​​与A对话。
我已经建立了一个Jenkins管道,其中单元测试作为CI构建的一部分运行,但是,我不确定一旦部署在Pod上就如何测试容器。在我们的登台服务器上进行集成测试?我已经研究过创建一个测试容器,并将其用作测试运行器,它可以用数据填充数据库,并验证结果并生成报告。这是怎么做的?

最佳答案

回答
是的,您的问题中描述的方法是在Kubernetes上测试分布式服务的有效方法。
我们维护一个临时集群,CI管道将微服务推送到该临时集群并对其执行测试。
每个管道都将运行单元测试,然后构建一个Docker镜像,对其进行标记,然后将其推送到我们的注册表中。此后,管道将运行类似于kubectl set image ...的操作,以为相应的微服务启动新的ReplicaSet的部署。请注意,我们为图像使用唯一标记(例如,不是最新标记)。
我们通过kubectl rollout status ...等待发布,一旦发布完成,管道就开始运行测试。
通常,我们通常直接从管道VM运行功能和集成测试。我们在部署在暂存群集上的Pod中运行负载测试(例如,使用locust.io)。
如果测试失败,我们运行kubectl rollout undo ...将微服务还原到先前的镜像。
更多信息
在每个微服务项目中(例如在deploy / dir中)维护Deployment and Service YAML规范的良好做法是,CI管道可以是幂等的。在这种情况下,您将运行kubectl apply -f deploy/*.yaml来更新登台群集上的微服务。
在针对群集上的微服务运行时,运行测试夹具的Pod可以依赖ClusterIP服务。从管道VM运行的测试将需要通过具有外部IP的服务来访问您的微服务。

关于kubernetes - kubernetes集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63143374/

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