我有一个测试过程,它产生一个文件作为输出。
我想在构建期间开始这个测试过程,运行它直到完成,然后收集它生成的文件并将其复制回构建上下文。
在 Kubernetes/Helm 中执行此操作的正确方法是什么?
kubectl
构建过程可以访问helm
CLI 工具。
我有一个不使用的要求kubectl exec
,因为集群设置不允许。
一些细节:
我能够使用Pod
.
我设置了将输出文件存储在卷挂载中的过程,该卷挂载被挂载到emptyDir
卷上。
我无法弄清楚如何获取输出文件。
我试过kubectl cp
了,但我无法让它工作(没有这样的文件或目录)。
我不知道如何检查已停止容器的内容。
我无法弄清楚如何查看卷中的内容。
kubectl logs
表明测试过程运行成功。该文件在容器内生成并存储在预期位置。
快速更新:
在我的本地 minikube 环境中,我能够设置一个持久卷并将输出文件复制回主机文件系统。接下来我将在 Jenkins 环境中尝试一下。
这是kubectl cp
我的本地(boot2docker)环境的输出:
$ kubectl cp my-pod:/home/node/output . -c mycontainer
error: home/node/output no such file or directory
/home/node/output
是容器内的 volumeMount 路径。