1. 设置环境变量
1
2
| export NAMESPACE=xxx
export PVC=xxx
|
2. Dataset 无法就绪
2.1 Fluid 组件问题
1
| kubectl -n fluid-system get pod -o wide | grep -v "Running"
|
可能出现没有正常启动的情况。
2.2 有异常的 Dataset
异常的资源可能导致 Fluid 资源不断重启,需要人工介入删除。
3. Fuse 问题,无法使用 PVC
3.1 没有创建 Fuse Pod
节点缺少标签,下面这个命令可以给全部节点打标签:
1
| kubectl label node fluid.io/f-${NAMESPACE}-${PVC}=true --all
|
下面是标签的格式:
1
| fluid.io/f-<namespace>-<pvc>=true
|
3.2 Fuse 挂载有问题
1
| kubectl -n ${NAMESPACE} logs -l release=${PVC},role=juicefs-fuse -f --max-log-requests 100
|
- could not find the requested resource
1
| Error from server (NotFound): the server could not find the requested resource ( pods/log ${PVC}-fuse-8xnmd)
|
强制删除 fuse pod
4. Worker 问题,缓存异常
4.1 Worker PartialReady
- 查看 JuiceFSRuntime 的状态
1
2
3
4
| kubectl -n ${NAMESPACE} get juicefsruntimes.data.fluid.io
NAME WORKER PHASE FUSE PHASE AGE
${PVC} PartialReady Ready 32m
|
- 查看 Worker 的日志
1
2
3
| kubectl -n ${NAMESPACE} logs -l release=${PVC},role=juicefs-worker -f --max-log-requests 100
Error from server (NotFound): the server could not find the requested resource ( pods/log ${PVC}-worker-53)
|
- 删除异常的 Worker
这种 Worker 可能是正常启动的,但是 Fluid 获取不到其 stats 状态,会判断其未就绪。
1
| kubectl -n ${NAMESPACE} delete pod ${PVC}-worker-53
|
- 移除异常 Worker 节点的标签
如果 worker 是使用了 nodeSelector 选择节点,应该移除改节点的标签。
5. 速度波动很大
5.1 有跨区域的 Worker 组建了分布式缓存
1
2
3
| kubectl -n ${NAMESPACE} logs -l release=${PVC},role=juicefs-worker
2025/01/16 04:12:05.546591 juicefs[189] <INFO>: add peer x.x.102.47:42769 with weight 100 [peer.go:773]
|
在 Worker 的日志中,通过 add peer
可以找到全部的缓存节点,检查是否有不符合预期的节点。同一个 cache group 的节点应该在同一个区域。
5.2 没有在 Worker 节点预热
JuiceFS 有两级缓存,如果在 Fuse 预热,只能在当前节点使用缓存,应该去 Worker 节点预热,才能提供给其他节点使用。