首页 > 解决方案 > Kubernetes 探针运行验收测试

问题描述

我有一种情况,我的验收测试在管道期间与 rabbitMQ 实例建立了连接。但是 rabbitMQ 实例是私有的,因此无法在管道中建立此连接。

我想知道是否制作一个运行此测试的 api 端点并将其添加到启动探针将是确保此测试通过的好方法。

标签: testingkubernetesacceptance-testingstartup-probe

解决方案


如果 rabbitmq 是你的 pod 中的一个容器,是的,如果不是,那么你不应该。

对此没有最终答案,但启动探测只是为了确保您的 pod 不会因为启动需要更长的时间而被其他探测错误地认为是不健康的。它针对需要在启动时构建资产或编译内容的遗留应用程序。

如果有一个地方可以对 rabitmq 进行连接测试,那就是 liveness probe,但只有当你的应用程序完全依赖于 rabbitmq 的连接时,你才应该这样做,否则你的身份验证将失败,因为你无法连接到消息传递队列。如果您有第二个应用程序尝试连接到您的端点作为活跃度探测?第三个应用程序连接第二个应用程序以检查该应用程序是否存在?你可以仅仅因为rabbitmq重新启动或快速崩溃而杀死整个生态系统。

不建议。

如果您的应用程序是工作人员,那么您可以将其作为活动探测的一部分,那么,没有与 rabbitmq 的连接会使工作人员无法使用。

如果您没有 CD,您的验收测试应该放在您的 CD 上或在部署后的脚本步骤中。


推荐阅读