chart包含了很多一起工作的Kubernetes资源和组件。作为一个chart作者,你可能想写一些测试验证chart安装时是否按照预期工作。 这些测试同时可以帮助chart用户理解你的chart在做什么。
test 在helm chart中放在 templates/
目录,并且是一个指定了容器和给定命令的任务。如果测试通过,容器应该成功退出 (exit 0) 任务的定义必须包含helm测试钩子的注释:helm.sh/hook: test
。
注意Helm v3中,任务定义需要包含helm的测试钩子注释之一:helm.sh/hook: test-success
或者 helm.sh/hook: test-failure
。 helm.sh/hook: test-success
仍然向后兼容,也可以是 helm.sh/hook: test
。
示例测试以下内容:
- 验证你values.yaml文件中的配置可以正确注入。
- 确保你的用户名和密码是对的
- 确保不正确的用户名和密码不会工作
- 判断你的服务只启动的并且正确地负载均衡
- 等等。
你可以在Helm的一个版本中运行预定义的测试,执行 helm test <RELEASE_NAME>
。对于chart用户来说, 这是验证chart发布(或应用)可以正常运行的很好的方式。