使用 kubectl-jfs 插件
kubectl-jfs 是 JuiceFS 提供的 kubectl 插件,用于查看、诊断和升级 Kubernetes 中的 JuiceFS CSI 工作负载。安装后,通过 kubectl jfs 调用插件。
安装
一键安装脚本支持 Linux 和 macOS,并会根据操作系统和硬件架构安装最新版本:
# 默认安装到 /usr/local/bin
curl -sSL https://d.juicefs.com/kubectl-jfs-install | sh -
安装完成后,检查插件版本并查看帮助:
kubectl jfs --version
kubectl jfs --help
连接集群
插件默认使用当前 kubeconfig 和 context,并支持 --kubeconfig、--context、--namespace 等 kubectl 通用参数。运行插件的用户需要有权限读取或修改相应的 Kubernetes 资源。
JuiceFS CSI Driver 默认安装在 kube-system。如果安装在其他命名空间,使用 -m 或 --mount-namespace 指定 CSI Driver 所在的命名空间:
kubectl jfs -m juicefs-system mount
--namespace(简写为 -n)表示应用所在的命名空间,--mount-namespace(简写为 -m)表示 JuiceFS CSI Driver 和 Mount Pod 所在的命名空间,请勿混淆。
查看 JuiceFS 资源
使用以下命令查看 Mount Pod、使用 JuiceFS PV 的应用 Pod,以及 JuiceFS PV 和 PVC:
# 查看 Mount Pod
kubectl jfs mount
# 查看当前命名空间中使用 JuiceFS PV 的应用 Pod
kubectl jfs pod
# 查看所有命名空间中的应用 Pod 和 PVC
kubectl jfs pod --all-namespaces
kubectl jfs pvc --all-namespaces
# 查看 JuiceFS PV 和当前命名空间中的 PVC
kubectl jfs pv
kubectl jfs pvc
pod 也可以简写为 po。如果只想查看某个应用命名空间,使用 --namespace <namespace>。
诊断 Pod、PVC 和 PV
debug 命令汇总应用 Pod、CSI Node、PVC、PV 和 Mount Pod 的状态,并提示可能的失败原因和后续排查方向:
kubectl jfs debug pod <pod-name> --namespace <namespace>
kubectl jfs debug pvc <pvc-name> --namespace <namespace>
kubectl jfs debug pv <pv-name>
找到异常 Mount Pod 后,可以继续查看其事件和日志:
kubectl describe pod <mount-pod-name> --namespace kube-system
kubectl logs <mount-pod-name> --namespace kube-system --all-containers
如果 CSI Driver 不在 kube-system,请相应修改命名空间。
采集访问日志和预热缓存
使用 accesslog 持续输出指定 Mount Pod 的 JuiceFS 访问日志:
kubectl jfs accesslog <mount-pod-name>
访问日志的分析方法参见 JuiceFS 社区版或云服务文档。
使用 warmup 将整个挂载点的数据预热到缓存:
kubectl jfs warmup <mount-pod-name>
当前插件实现不会正确处理帮助信息中展示的 <subpath> 参数,即使指定子路径,也会预热整个挂载点。请评估对象存储流量和缓存空间后再执行。
运行 kubectl jfs accesslog --help 或 kubectl jfs warmup --help 可以查看完整参数。
升级单个 Mount Pod
upgrade 支持升级一个 Mount Pod。默认只更新 JuiceFS 客户端二进制;增加 --recreate 后,会重建 Mount Pod 以应用镜像或其他 Pod 配置变更:
# 二进制升级
kubectl jfs upgrade <mount-pod-name>
# 重建升级
kubectl jfs upgrade <mount-pod-name> --recreate
两种方式的区别、版本要求和前置条件参见「升级 JuiceFS 客户端」。