【发布时间】:2022-04-24 20:52:34
【问题描述】:
我正在尝试创建一个 Kubernetes 作业,该作业将在某些机器上运行。我希望该工作能够以某种方式将文件从这台机器复制到在工作本身内运行的容器中并对其进行处理。 首先,这是一个好方法吗?其次,我怎么能这样做?我的 k8s 工作应该从注册表运行一些预构建的图像。我知道我可以自己构建这样的图像并将所需的文件包含在其中但是我想知道我是否可以跳过该步骤?我也读过关于 configMaps 的文章,但是它们是扁平的,而且我的模板文件夹里面也可以有文件夹。
让我们举个例子:
机器 X 有目录 /templates。
我运行kubectl apply -f my-job.yaml,我希望该作业中的这个容器与位于/templates 中的文件具有相同的文件。
如果有任何提示如何实现这一点,我们将不胜感激。
【问题讨论】:
-
如果你想在你的作业 pod 中拥有相同的文件,你应该在 pod 中挂载相同的卷并复制 ir 或处理挂载卷中的文件。 '/templates' 应该是一个卷。这个目录是节点文件夹吗?
-
目录完全在集群之外。我希望在部署完成后以某种方式安装目录中的这些文件。
-
您应该使用persistent volumes 来执行此操作。例如,您可以使用NFS 共享您的卷,并将它们安装在一个 pod 中。它适合你吗?
标签: kubernetes containers kubernetes-jobs