【问题描述】
社区版安装时,在添加服务步骤初始化Aquila失败,报错内容为“通过TOS启动service失败”,最终导致添加服务失败。显示内容如下图所示:
【问题根因】
经排查,这个问题的根因为服务器分配给Aquila的资源不足,可以通过Manager界面修改服务资源参数的方式解决该问题。以下提供具体排查思路和解决措施。
若您的资源比较紧张,您也可以通过在安装阶段将Aquila的服务角色均匀分配在不同节点上,缓解单一节点的负载压力,来预防该问题的发生。
【根因分析】
1. 查看报错日志
通常在安装过程中出现报错,可以优先查看该步骤右侧的日志排查报错原因。
由此可知,安装任务失败是由于Aquila的角色之一DBA Service的Pod出现问题导致,所以需要进一步查看Pod的状态以及日志信息,来定位根因。
2. 查询DBA Service Pod状态
确定失败服务后,使用 kubectl get pod | grep <组件名称> 命令查询组件相关Pod的运行状态。由下图可以看出,DBA Service Pod处于pending状态。因此,接下来需要展开该Pod的详细信息,来进一步定位问题。
Tips:如果您在查看Pod状态时,显示为Failed或其他状态比如冲突,您可以通过kubectl logs <pod id>,来查看Pod的相关日志。
3. 查看Pod信息
使用命令kubectl describe pod <pod id> 查看信息。
由上图可以看出,由于CPU资源限制导致该Pod无法启动。
至此,该问题报错的根因已找到,接下来就是做出问题修复,在这提供解决思路和预防措施。
【问题解决】
1. 解决思路:修改Aquila服务的资源分配
TDH基于TCOS云原生统一资源调度系统可以实现对各服务所占用的硬件、软件资源做出统一调配。因此在Manager界面可以配置分配给服务的CPU资源,以实现服务的正常运行。修改完成后需要点击“配置服务”,然后重启服务。参考示例如下:
2. 预防措施:均匀分配Aquila角色安装节点