【问题标题】:Kubernetes probe running acceptance testKubernetes 探针运行验收测试
【发布时间】:2021-12-27 02:06:27
【问题描述】:

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

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

【问题讨论】:

    标签: testing kubernetes acceptance-testing startup-probe


    【解决方案1】:

    如果 rabbitmq 是您 pod 中的容器,是的,如果不是,那么您不应该这样做。

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

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

    不推荐。

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

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

    【讨论】:

    • 谢谢!我确实有一张 CD,但在这张 CD 中我无法访问 rabbitMQ,因为它是私有的。这是我无法改变的。我会试试你的部署后脚本建议。再次感谢
    猜你喜欢
    • 2016-06-02
    • 2023-03-18
    • 2019-07-22
    • 1970-01-01
    • 2021-05-24
    • 2023-02-16
    • 2021-02-23
    • 2015-07-30
    • 1970-01-01
    相关资源
    最近更新 更多