## 一、最常见根因(按概率排序)
1. **节点资源不足(CPU / 内存 / 磁盘空间不足,最常见)**
BMP 组件(seasqlcache、seamq-base、BMP 全家桶)对内存、磁盘要求高;节点剩余内存不够、根分区 / 数据盘使用率 > 85%,执行初始化 shell 脚本直接返回非 0,页面就报 cmd 命令执行失败。
2. **集群节点之间免密 ssh 异常**
Matrix 部署应用时需要在 node1/node2 之间远程执行 cmd 脚本;节点间 ssh 互通、root 免密失效,直接命令执行失败。
3. **系统依赖包缺失、操作系统版本不匹配**
E7501 版本对底层操作系统版本、内核有硬性要求;国产化系统缺少基础命令(如 jq/unzip 等),脚本执行报错。
4. **集群网络 / 域名 /hosts 解析异常**
节点主机名解析异常、防火墙拦截内部端口,跨节点执行命令超时失败。
5. **之前部署残留脏数据**
之前部署 BMP 中途失败,残留 CRD/pvc/pod 资源,再次部署执行前置校验命令失败。
6. **应用包损坏、版本不匹配**
上传的 E7501 BMP 安装包文件不全、MD5 校验不通过,解压预处理脚本执行失败。
## 二、分步排查流程
### 步骤 1:查看详细部署操作日志(优先,拿到真实报错)
Web 页面:【系统】→【日志管理】→【操作日志】,找到本次 BMP 部署记录,展开详情,里面会记录底层 cmd 脚本返回的真实错误信息。
>
> 这个页面弹窗只做简化提示,**真正失败原因在操作日志**。
### 步骤 2:登录集群 master 节点,基础资源检查
```
#查看磁盘使用率,不能超过85%
df -h
#查看内存
free -h
#查看节点状态
kubectl get nodes
#查看pod事件,看有没有调度失败
kubectl get events -n service-software
```
>
> 重点:U-Center BMP 组件推荐单节点至少 16G 内存,生产建议 32G。
### 步骤 3:验证 node1<->node2 之间 root 免密 ssh
在 node1 执行 `ssh root@node2 hostname`,node2 执行`ssh root@node1 hostname`,**不能输密码**,如果要输入密码,免密配置失效,部署脚本无法跨节点执行 cmd。
### 步骤 4:清理残留脏数据(如果之前部署失败过)
>
> ⚠️谨慎操作,生产环境先备份
```
#清理service-software命名空间下BMP相关pvc/pod
kubectl delete pvc -n service-software |grep bmp
```
清理完成,刷新页面重新发起部署。
### 步骤 5:检查操作系统版本和系统基础命令
确认底层 OS 版本匹配 E7501 兼容清单;在节点执行`jq、unzip、curl`,确认基础命令存在。
## 三、临时规避操作
1. 不要一次性勾选全部 BMP 组件批量部署;**先单独部署 BMP_Common,成功后再依次部署 BMP_Connect、BMP_Report**。批量一次性部署,资源抢占极易触发 cmd 脚本失败。
2. 先检查前置组件:`seamq-base、seasqlcache-cluster`显示【已部署】,确认 MQ、缓存组件正常运行,BMP 依赖这两个中间件。截图看到 seamq-base、seasqlcache-cluster 状态是已部署,但**需要确认 pod 是 running 状态,不是 pending/error**。
```
kubectl get pods -n service-software | grep -E "seamq|seasqlcache"
```
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论