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

如何在Kubernetes Pod中挂载Hetzner Storage Box远程磁盘?

如何在Kubernetes Pod中挂载Hetzner Storage Box远程磁盘?

当然有可行的方案!针对你提到的几种协议,Kubernetes有对应的工具和配置方法来实现Hetzner Storage Box到Pod卷的挂载,我给你逐个拆解说明:

1. SAMBA/CIFS(推荐,最稳定)

这是挂载远程存储最常用的方式之一,Kubernetes官方生态有成熟的CSI驱动支持:

  • 首先安装csi-driver-smb到你的集群(可以用helm或者kubectl直接部署)
  • 创建一个Secret存储Hetzner Storage Box的用户名和密码:
apiVersion: v1
kind: Secret
metadata:
  name: hetzner-smb-secret
type: Opaque
data:
  username: <base64编码的用户名>
  password: <base64编码的密码>
  • 定义PersistentVolume(PV)指向你的Hetzner Storage Box:
apiVersion: v1
kind: PersistentVolume
metadata:
  name: hetzner-smb-pv
spec:
  capacity:
    storage: 100Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  csi:
    driver: smb.csi.k8s.io
    volumeHandle: hetzner-smb-volume
    volumeAttributes:
      source: "//your-storage-box.your-hetzner-domain/your-share-path"
    nodeStageSecretRef:
      name: hetzner-smb-secret
      namespace: default
  • 创建PersistentVolumeClaim(PVC)绑定这个PV:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: hetzner-smb-pvc
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 100Gi
  volumeName: hetzner-smb-pv
  • 最后在Pod中引用这个PVC:
apiVersion: v1
kind: Pod
metadata:
  name: smb-test-pod
spec:
  containers:
  - name: test-container
    image: nginx
    volumeMounts:
    - name: smb-volume
      mountPath: /mnt/hetzner-storage
  volumes:
  - name: smb-volume
    persistentVolumeClaim:
      claimName: hetzner-smb-pvc

2. SFTP/SCP

可以使用sftp-csi-driver来实现挂载,步骤和上面类似:

  • 安装SFTP CSI驱动后,创建存储凭证的Secret(用户名、密码或私钥)
  • 配置PV时指定SFTP服务器地址、端口(Hetzner默认22)和路径,然后通过PVC挂载到Pod中。如果用私钥认证,需要把私钥存在Secret里并在PV中配置对应的参数。

3. FTP/FTPS

目前没有官方的CSI驱动,但可以使用第三方的ftp-csi-driver。或者如果不需要实时挂载,也可以用Sidecar容器:启动一个FTP客户端容器,定期同步Hetzner Storage Box的文件到emptyDir卷,然后主Pod通过emptyDir访问数据。不过实时挂载的话还是推荐用第三方CSI驱动,配置逻辑和其他CSI驱动一致,需要在Secret中存储FTP的认证信息,PV中指定FTP服务器地址和路径。

4. WebDAV

可以使用第三方的WebDAV CSI驱动,比如webdav-csi-driver。配置流程同样是:安装驱动→创建存储WebDAV认证信息的Secret→定义PV(指定WebDAV的URL、认证方式)→创建PVC→在Pod中挂载。

5. SSH/rsync/BorgBackup

这类工具更适合数据同步/备份场景,而不是实时挂载:

  • 如果是备份需求,可以在Pod中直接运行rsync或BorgBackup命令,把Hetzner Storage Box作为备份目标,凭证存在Secret里,通过环境变量或者挂载Secret到Pod中获取认证信息。
  • 也可以用CronJob定期执行同步任务,把集群内的数据同步到Hetzner Storage Box,或者反过来。

注意事项

  • 确保你的Kubernetes集群能访问Hetzner Storage Box的对应端口(比如SAMBA的445、SFTP的22、FTP的21等),需要检查集群防火墙和Hetzner的防火墙规则。
  • 所有CSI驱动都需要集群有对应的RBAC权限,安装时要确保权限配置正确。
  • Hetzner Storage Box的用户名通常是你的账号ID加存储箱编号,比如u123456-sub0,密码是你设置的存储箱密码。

备注:内容来源于stack exchange,提问作者Bugpirasi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 10:15:27