如何使用 ConfigMap 将整个目录及其子目录放入多节点集群上的 Kubernetes Pod 中?

And*_*ann 5 volume docker kubernetes configmap

问题

  • 我们想重复使用同一张图像
  • 我们有不同的静态文件(例如 css),它们在不同的部署中应该有所不同。应保留这些文件的文件夹结构。

例如:

  1. 测试1.xml
  2. 测试2.xml
  3. 布局
      3.1 测试1.css
      3.1 测试2.css

我们需要将这些文件一次(在启动时)放入 Pod 中。

据我所知,我只能在一个目录级别中创建一个所有文件的 ConfigMap,并且我必须重新创建该结构。

例如

kubectl create configmap style-files --from-file=.
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,此命令只会为 xml 文件创建一个 ConfigMap。

预期行为

其行为类似于 ConfigMap,但能够创建一个包含当前目录中的所有文件和子目录中的所有文件的单个 ConfigMap,同时保留文件夹结构。

问题

是否有一些针对我的用例的概念,或者我是否必须使用 ConfigMap?

Tho*_*mas 1

您可以在集群内可访问的位置(fe s3 存储或简单的 http 服务器)提供存档文件,并使用配置映射为 pod 配置正确的 URL 以下载文件。要下载并提取存档,您可以结合使用初始化容器和卷安装。

有关初始化容器的更多信息:https://kubernetes.io/docs/concepts/workloads/pods/init-containers/