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

K8s部署的Vespa集群storage/0节点下线,如何排查原因?

诊断Kubernetes上Vespa storage节点下线的步骤

1. 先排查Kubernetes层面的Pod/节点状态

首先确认storage/0对应的Pod是否正常运行:

  • 列出命名空间下所有Vespa Pod:kubectl get pods -n <your-vespa-namespace>
    观察feature/storage/0对应的Pod状态,比如是否是CrashLoopBackOff、Pending、Terminated等异常状态。
  • 查看异常Pod的详细事件:kubectl describe pod <storage-0-pod-name> -n <your-vespa-namespace>
    在Events段找关键信息,比如镜像拉取失败、资源配额不足、节点磁盘压力过大、Pod被驱逐等。
  • 检查Pod所在的Kubernetes节点状态:kubectl get nodes
    确认节点是否处于Ready状态,若节点本身异常(如磁盘满、网络断开)也会导致Pod无法正常工作。

2. 查看Vespa存储节点的日志

Vespa的核心日志集中在/var/log/vespa/目录,优先查看存储服务相关日志:

  • 直接查看Pod的容器日志:kubectl logs <storage-0-pod-name> -n <your-vespa-namespace>
    或者进入Pod实时查看存储日志:
    kubectl exec -it <storage-0-pod-name> -n <your-vespa-namespace> -- tail -f /var/log/vespa/storage.log
    
    重点关注ERROR、FATAL级别的日志条目,常见原因包括:磁盘空间耗尽、存储目录权限异常、数据文件损坏、与distributor/master节点通信失败等。
  • 查看Vespa主日志:kubectl exec -it <storage-0-pod-name> -n <your-vespa-namespace> -- tail -f /var/log/vespa/vespa.log
    这里会包含节点启动、服务注册、集群通信的全量信息。

3. 使用Vespa内置诊断工具

  • 生成集群状态报告:vespa-status-report
    在任意Vespa节点(如master节点)执行,会输出集群各节点的健康指标、存储分片状态、资源使用情况,帮助定位节点下线的关联问题。
  • 查询单个节点的详细状态:vespa-get-node-state feature/storage/0
    该命令会返回节点的具体状态码、下线原因描述(如disk-full、network-unreachable等)。
  • 检查存储节点磁盘使用:进入Pod执行df -h,确认存储目录(默认/opt/vespa/var/db/vespa/)是否有足够空间,Vespa磁盘使用率超过90%时会自动下线节点。

4. 验证节点间网络连通性

Vespa存储节点需要与distributor、master节点保持通信:

  • 在其他正常节点(如feature/storage/1)上ping storage/0的Pod IP,确认网络可达。
  • 测试Vespa服务端口连通性:telnet <storage-0-pod-ip> 19071(存储服务端口)或telnet <storage-0-pod-ip> 19091(节点管理端口),若不通需检查Kubernetes NetworkPolicy、防火墙规则或Pod网络配置。

内容的提问来源于stack exchange,提问作者João Paulo Masiero

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 00:55:19