Skip to content

节点注册与资源排障

本页用于处理以下高频问题:

  • 计算节点未注册到控制面
  • 节点长时间 degraded / not ready
  • CPU / 内存持续高水位,实例创建明显变慢
  • 模板副本分布不完整,部分节点无法承接实例

如果你还没完成问题分层,先看:

先做最小健康检查

bash
# 控制面与关键服务健康
curl -fsS http://127.0.0.1:8089/notify/health
curl -fsS http://127.0.0.1:3000/health

# 节点注册相关(把 <control-plane> 和 <node-ip> 替换成实际值)
curl -fsS http://<control-plane>:8089/internal/meta/nodes/<node-ip>

如果这里已经失败,先优先看:

症状一:节点未注册到控制面

常见原因:

  • meta_server_endpoint 配置错误
  • 节点 IP 写入错误(CUBE_SANDBOX_NODE_IP
  • 控制面与计算节点端口互通异常

建议排查:

bash
rg 'meta_server_endpoint' /usr/local/services/cubetoolbox/Cubelet/dynamicconf/conf.yaml
cat /usr/local/services/cubetoolbox/.one-click.env

重点确认:

  1. 控制节点可被计算节点访问(通常 8089/tcp
  2. 计算节点可向控制面上报
  3. 节点 IP 与实际网卡 IP 一致

症状二:节点在线但长时间 degraded

常见方向:

  • 节点服务未完全健康
  • 运行时依赖异常(socket/配置缺失)
  • 资源临界导致状态反复抖动

建议优先检查:

  • cubeletcubeshimcubemaster 服务状态
  • 关键 socket 是否存在
  • 最近 200 行 journalctl 日志

症状三:CPU / 内存持续高水位

常见影响:

  • 模板分发变慢
  • 新实例创建耗时显著上升
  • 沙箱稳定性下降

建议路径:

  1. 先在 Dashboard 节点页确认是单节点还是全局高水位
  2. 再结合可观测页确认是否有持续告警
  3. 再决定是扩容节点、调整实例规格,还是清理低价值负载

对应文档:

症状四:模板副本分布不完整

常见表现:

  • 模板在部分节点 READY,另一些节点长期缺副本
  • 某些节点可启动实例,另一些节点始终失败

建议路径:

  1. 先在模板页查看副本分布
  2. 再在节点详情检查 Local Templates
  3. 再结合节点资源水位判断是否是容量导致分发失败

对应文档:

最小命令检查清单

bash
# 服务状态(按实际服务名调整)
systemctl status cubelet
systemctl status cubemaster

# 关键 socket
test -S /data/cubelet/cubelet.sock
test -S /tmp/cube/network-agent-grpc.sock

# 日志
journalctl -u cubelet -n 200 --no-pager
journalctl -u cubemaster -n 200 --no-pager

推荐排障顺序(节点问题)

  1. 先确认节点是否已注册
  2. 再确认节点服务与 socket 是否健康
  3. 再看 CPU / 内存与并发能力
  4. 最后定位到模板副本或具体沙箱

相关文档