Helm 图表的测试、安全与自定义资源管理
1. 为图表添加测试
测试是软件开发中不可或缺的一部分,Helm 提供了通过测试钩子和 Kubernetes 资源来测试图表的能力。这意味着测试可以在 Kubernetes 集群中与工作负载一起运行,并访问图表安装的组件。
1.1 Helm 测试
Helm 提供了 helm test 命令,用于在运行的图表实例上执行测试钩子。实现这些钩子的资源可以检查数据库访问、数据库模式是否正确就位、工作负载之间的连接是否正常以及其他操作细节。
如果测试失败,Helm 将以非零退出代码退出,并提供失败的 Kubernetes 资源的名称。非零退出代码在与某些自动化测试系统结合使用时很有用,这些系统可以通过这种方式检测失败。当你获得 Kubernetes 资源的名称后,可以查看日志以了解具体失败原因。
测试通常存放在 templates 目录下的 tests 子目录中。将测试放在这个目录中有助于实现有效的分离,但这只是一种约定,并非测试运行的必要条件。
以下是一个测试示例,以 booster 图表为例,在 templates/tests 目录下的 test-connection.yaml 文件中包含以下测试钩子:
apiVersion: v1
kind: Pod
metadata:
name: "{
{ include "b
超级会员免费看
订阅专栏 解锁全文
84

被折叠的 条评论
为什么被折叠?



