我目前正在尝试构建一个构建管道。管道当前是具有多个 Init 容器的作业。其中一个 init 容器是实际的映像生成器。
为了利用其缓存功能,我需要一种将数据保留在存储上的机制,以便下一次迭代可以使用缓存的数据。
唯一的线索是:
但是,管理员可以使用 Kubernetes 控制器管理器命令行参数配置自定义回收程序 Pod 模板,如此处所述。
(链接)https://kubernetes.io/docs/reference/command-line-tools-reference/kube-controller-manager/
但是这个链接并没有真正解释任何事情。实际上听起来我必须在全球范围内改变回收政策,这是我宁愿不做的事情。
引出问题:
如何优雅地解决这个问题?
可以使用在 StatefulSet 中运行工作负载的动态卷预配来存储缓存。
实质上,当您使用它时,会创建一个与物理卷关联的 PVC(持久卷声明)(PV 最初也会创建),并且 PVC 也与您的容器相关联。因此,下次容器重新启动时,它会使用相同的卷。支持的卷类型将取决于您的云提供商。