如何获取Helm Chart预安装钩子(helm-hooks)中Job命令的执行结果
问题解答
somefile.txt 存储位置说明
- 你当前的Job配置没有挂载任何持久化存储卷,
touch somefile.txt创建的文件存储在容器临时可写层中,默认路径为busybox镜像的工作目录/root,你命令中的echo $PWD输出的就是该路径。 - 注意:Job执行完成、Pod终止后,容器可写层会被销毁,该文件会同步删除无法留存。如果需要长期保存该文件,需要给Pod配置挂载PersistentVolumeClaim(PVC)类的持久化存储,同时在command中指定挂载路径下的绝对路径创建文件。
echo 命令输出获取方法
- Kubernetes会默认收集容器的标准输出(stdout)、标准错误(stderr)到Pod日志中,你可以通过kubectl命令直接获取输出:
- 先查询pre-install Job对应的Pod名称:
kubectl get pods -l job-name=pre-install-job- 查看对应Pod的日志即可拿到echo输出内容:
kubectl logs <替换为上一步查询到的Pod名称> - 补充说明:如果你给该Job配置了
helm.sh/hook-delete-policy注解设置执行完成自动删除Pod,可以在执行helm install命令时新增--wait参数,或者提前开启另一个终端执行kubectl logs -f <Pod名称>实时监听日志,避免Pod被删除后无法获取输出。
内容的提问来源于stack exchange,提问作者Rohit Ratnesh
相关产品推荐
相关产品推荐

