与Kubernetes上的pod共享现有的媒体文件夹



我正在做我的玩具项目,我想与在Kubernetes上运行的pod (Docker Desktop内置在Windows 10上的Kubernetes或我的家庭linux服务器上的microk8s)上运行的媒体文件共享一个现有文件夹。最好的方法是什么?我已经搜索了所有文档,没有现有文件夹和数据的示例。

主机节点文件系统中的文件或目录通过hostPath卷挂载到您的Pod中。您可以创建一个带有主机路径的PV,以便您可以在pod配置中声明。为此,您的现有目录必须位于将要创建pod的节点中。

apiVersion: v1
kind: Pod
metadata:
name: test-pd
spec:
containers:
- image: registry.k8s.io/test-webserver
name: test-container
volumeMounts:
- mountPath: /test-pd
name: test-volume
volumes:
- name: test-volume
hostPath:
# directory location on host
path: /data
# this field is optional
type: Directory

只有root才能访问底层主机上新创建的文件和文件夹。为了能够写入hostPath驱动器,您必须在特权容器中以root身份执行进程,或者更改主机上的文件权限。

详细信息请参考本文档

注意:尽可能避免使用HostPath卷是最佳实践,因为它们会带来许多安全问题。

最新更新