Docker 库伯内特斯+;Gitlab CI artefacts:我应该使用什么样的卷?

Docker 库伯内特斯+;Gitlab CI artefacts:我应该使用什么样的卷?,docker,kubernetes,gitlab,docker-volume,Docker,Kubernetes,Gitlab,Docker Volume,我的Kubernetes集群中有一个正在运行的Gitlab CI管道 当测试失败时,我需要从运行应用程序的pod中抓取应用程序的屏幕截图和日志,以便在Gitlab运行人员期望的地方可以使用它们 我尝试了kubectl cp/:/in pod path/local/path从停止的pod复制文件(在Docker映像中安装了tar命令),但是 在这可用之前,我想我需要在保存我的人工制品的路径上的pod中安装一个卷,以便在测试执行完成后可以从这个卷中获取它们 我想知道我应该使用什么类型的卷知道我有3个

我的Kubernetes集群中有一个正在运行的Gitlab CI管道

当测试失败时,我需要从运行应用程序的pod中抓取应用程序的屏幕截图和日志,以便在Gitlab运行人员期望的地方可以使用它们

我尝试了
kubectl cp/:/in pod path/local/path
从停止的pod复制文件(在Docker映像中安装了
tar
命令),但是

在这可用之前,我想我需要在保存我的人工制品的路径上的pod中安装一个卷,以便在测试执行完成后可以从这个卷中获取它们

我想知道我应该使用什么类型的卷知道我有3个kube Worker,我不需要该卷随时间保持不变,更多的卷需要在节点之间共享


我希望在部署运行我的测试的pod之前部署此卷,并装载此卷。当检测到测试失败时,我会将人工制品提取到正确的位置并删除pod和卷。

您可以尝试使用访问模式定义一个PVC
ReadWriteMany
,以便在多个pod之间共享卷。
见“

它仍然是一个持久卷(为了支持它),所有的pod都调度到具有该卷的节点

有几种卷类型适用于此,并且不与任何云提供商绑定:

  • NFS
  • RBD(Ceph闭锁装置)
  • CEPFS
  • Glusterfs
  • Portworx卷
但是:

我真的不需要在多个pod之间共享卷,我可以为每个pod创建一个卷。
我希望避免安装/配置您提供的列表中的节点共享卷服务。
如果可能的话,我正在寻找一个短暂的量

然后可以执行

Kubernetes 1.8版引入了一种新资源,即临时存储,用于管理本地临时存储。在每个Kubernetes节点中,kubelet的根目录(
/var/lib/kubelet
默认设置)和日志目录(
/var/log
)存储在节点的根分区上。
POD还通过
emptyDir
卷、容器日志、映像层和容器可写层共享和使用该分区


在您的情况下,您需要一个。

谢谢您的回答。我真的不需要在多个pod之间共享卷,我可以为每个pod创建一个卷。我希望避免安装/配置您提供的列表中的节点共享卷服务。如果可能的话,我正在寻找一本短命的书?@ZedTuX我已经编辑了答案以回应你的评论。