如何在 Kubernetes 中设置缓存路径
本文档展示了如何在 Kubernetes 中设置 JuiceFS 的缓存路径。CSI 驱动在部署 mount pod 时, 会将 Kubernetes 节点上的对应路径挂载到 mount pod 中,如果需要将节点上的磁盘路径设置为客户端的缓存路径,可遵循本文档。
静态配置
默认情况下,缓存路径为 /var/jfsCache
,CSI 驱动会将该路径挂载到 mount pod 中。您也可以在 PV 的 spec.mountOptions
中设置缓存路径:
apiVersion: v1
kind: PersistentVolume
metadata:
name: juicefs-pv
labels:
juicefs-name: ten-pb-fs
spec:
capacity:
storage: 10Pi
volumeMode: Filesystem
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
mountOptions:
- cache-dir=/dev/vdb1
csi:
driver: csi.juicefs.com
volumeHandle: juicefs-pv
fsType: juicefs
nodePublishSecretRef:
name: juicefs-secret
namespace: default
PVC 和示例 pod 可参考 这篇文档。
检查缓存路径
应用配置后,验证 pod 是否正在运行:
kubectl get pods juicefs-app
您还可以验证 JuiceFS 客户端是否设置了预期的缓存路径,参考 这篇文档 找到对应的 mount pod:
kubectl -n kube-system get po juicefs-172.16.2.87-juicefs-pv -oyaml | grep mount.juicefs
动态配置
默认情况下,缓存路径为 /var/jfsCache
,CSI 驱动会将该路径挂载到 mount pod 中。您也可以在 StorageClass 的 mountOptions
中配置缓存路径:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: juicefs-sc
namespace: default
provisioner: csi.juicefs.com
parameters:
csi.storage.k8s.io/provisioner-secret-name: juicefs-secret
csi.storage.k8s.io/provisioner-secret-namespace: default
csi.storage.k8s.io/node-publish-secret-name: juicefs-secret
csi.storage.k8s.io/node-publish-secret-namespace: default
mountOptions:
- cache-dir=/dev/vdb1
PVC 和示例 pod 可参考 这篇文档。
检查缓存路径
应用配置后,验证 pod 是否正在运行:
kubectl get pods juicefs-app
您还可以验证 JuiceFS 客户端是否设置了预期的缓存路径,参考 这篇文档 找到对应的 mount pod:
kubectl -n kube-system get po juicefs-172.16.2.87-pvc-5916988b-71a0-4494-8315-877d2dbb8709 -oyaml | grep mount.juicefs