我想要的是一个github存储库,包含多个文件夹和文件,可以作为一个镜像,用于服务作为卷挂载并使用它们,因为它是本地文件。
我们可以将文件(或文件夹)添加到这个存储库中-更新后的存储Map-应该确保这些文件也可用于服务。
我可以创建一个Map
kubectl create configmap my-config --from-file=/my-repo/
字符串
但是该Map只包含文件夹下的文件,而不包含子文件夹和子文件夹中的文件。
如何挂载整个文件夹,以便服务可以使用它们?
我想要的是一个github存储库,包含多个文件夹和文件,可以作为一个镜像,用于服务作为卷挂载并使用它们,因为它是本地文件。
我们可以将文件(或文件夹)添加到这个存储库中-更新后的存储Map-应该确保这些文件也可用于服务。
我可以创建一个Map
kubectl create configmap my-config --from-file=/my-repo/
字符串
但是该Map只包含文件夹下的文件,而不包含子文件夹和子文件夹中的文件。
如何挂载整个文件夹,以便服务可以使用它们?
1条答案
按热度按时间h9vpoimq1#
在Kubernetes中使用kubectl create ConfigMap创建ConfigMap时,它不会自动包含目录中的子文件夹和文件。您需要在ConfigMap中显式包含您想要的所有文件和目录。但是,您可以使用脚本自动执行此过程,或者使用ConfigMap和Volume等Kubernetes资源来实现您想要的目标。以下是分步指南:
创建一个包含所有文件和目录的ConfigMap:
您可以使用kubectl create configmap或YAML文件来定义ConfigMap。下面是一个示例YAML文件,其中包括本地目录中的文件和目录:
字符串
在上面的示例中,ConfigMap包括三个文件,其中一个文件在一个配置文件中。
应用ConfigMap:
使用kubectl apply创建或更新ConfigMap:
型
将ConfigMap挂载为Pod中的卷:
您现在可以将此ConfigMap挂载为Pod中的卷。下面是将ConfigMap挂载为卷的Pod YAML示例:
型
在此Pod定义中,ConfigMap作为卷挂载在路径/config处。这意味着您可以从ConfigMap访问文件和目录,就像它们是容器中的本地文件一样。
通过此设置,您对ConfigMap的任何更改都会反映在您的Pod中。如果您在ConfigMap中添加或修改文件,使用它的Pod将自动看到这些更改,而无需重新创建Pod。