You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何手动向HostPath存储类对应的Kubernetes节点上传文件供Pod访问?

问题:如何手动访问Docker Desktop Kubernetes节点的hostPath存储目录?

我拥有一个单节点(Docker Desktop)的Kubernetes集群,集群默认存储类为hostpath,已创建使用该存储类的PersistentVolume(PV)及对应的PersistentVolumeClaim(PVC),且PVC已成功绑定到运行中的Pod。我了解hostpath是将节点的文件系统作为Pod可用于存储文件的位置。我的问题是,如何手动访问节点的文件系统并存储文件,使这些文件能够被运行中的Pod访问?

PV配置

apiVersion: v1
kind: PersistentVolume
metadata:
  name: mps-pv
spec:
  accessModes:
    - ReadWriteOnce
  capacity:
    storage: 20Gi
  persistentVolumeReclaimPolicy: Retain
  storageClassName: hostpath
  hostPath:
    path: /mnt/mps/

PVC配置

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: mps-pv-claim
  namespace: mps
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 20Gi
  storageClassName: hostpath
  volumeName: mps-pv

解决方案

你使用的Docker Desktop单节点Kubernetes集群,其节点本质是Docker管理的虚拟机(Windows/macOS环境)或直接复用主机环境(Linux),以下是几种直接访问节点/mnt/mps/目录的方法:

方法1:通过Docker命令进入节点容器

Docker Desktop的Kubernetes节点以名为docker-desktop的容器运行,直接执行以下命令进入节点的shell:

docker exec -it docker-desktop /bin/sh

进入后切换到PV配置的路径:

cd /mnt/mps/

在这里创建、修改的所有文件,都会被绑定该PV的Pod直接访问到。

方法2:针对Windows/macOS主机的额外方式

macOS

通过终端进入Docker Desktop的虚拟机:

screen ~/Library/Containers/com.docker.docker/Data/vms/0/tty

进入虚拟机后访问/mnt/mps/目录即可操作文件,退出时按Ctrl+A再按D。

Windows(WSL2后端)

若Docker Desktop使用WSL2后端,直接打开WSL2终端,访问/mnt/mps/即可,该路径与Kubernetes节点的路径完全一致。

注意事项

  • 权限问题:Pod内部的运行用户UID/GID可能和节点上的用户不一致,导致Pod无法访问手动创建的文件。测试时可临时赋予全权限:
    chmod 777 /mnt/mps/your-file
    
    生产环境建议调整文件权限以匹配Pod的用户UID/GID。

内容的提问来源于stack exchange,提问作者chandler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 16:42:43