Chart Test

    test 在helm chart中放在 目录,并且是一个指定了容器和给定命令的任务。如果测试通过,容器应该成功退出 (exit 0) 任务的定义必须包含helm测试钩子的注释:helm.sh/hook: test

    注意Helm v3中,任务定义需要包含helm的测试钩子注释之一:helm.sh/hook: test-success 或者 helm.sh/hook: test-failure。 仍然向后兼容,也可以是 helm.sh/hook: test

    • 判断你的服务只启动的并且正确地负载均衡

    你可以在Helm的一个版本中运行预定义的测试,执行 helm test <RELEASE_NAME>。对于chart用户来说, 这是验证chart发布(或应用)可以正常运行的很好的方式。

    命令会自动创建一些目录和文件。 要尝试helm的测试功能,需要先创建一个helm chart示例。

    demo/templates/tests/test-connection.yaml中,可以试试看到的测试功能,测试pod定义如下:

    首先,安装chart到你的集群中创建一个版本。需要等待所有的pod变成active的状态;如果安装之后立即执行test, 可能会出现相应的失败,你不得不再执行一次test。

    • 你可以在单个yaml文件中定义尽可能多的测试或者分布在目录中的多个yaml文件中。
    • 为了更好地隔离,欢迎你将测试套件嵌套放在tests/目录中,类似<chart-name>/templates/tests/
    • 一个test就是一个 Helm 钩子,所以类似于 helm.sh/hook-weight和的注释可以用于测试资源。