ARMS中接入 arms后,pod 日志会报一个错误,怎么才能消除啊?

ARMS中k8s 集群通过 ack-onepilot 接入 arms后,pod 日志会报一个错误,[ARMS Logger][ERROR] Fail to mkdirs: /?/logs/arms/tracelogs,怎么才能消除啊?

展开
收起
哈喽!小陈 2022-07-01 17:08:33 2377 分享 版权
阿里云 AI 助理回答

针对您在ARMS中遇到的Kubernetes集群通过ack-onepilot接入后,Pod日志中出现的错误信息[ARMS Logger][ERROR] Fail to mkdirs: /?/logs/arms/tracelogs,可以尝试以下步骤进行排查和解决:

  1. 检查ACK OnePilot配置与权限: 确认ack-onepilot组件是否正确安装并配置。请按照官方文档指引检查组件状态,并确认其是否有足够的权限在Worker节点上创建所需的目录结构。特别是,确保ack-onepilot服务账户具有在节点文件系统上写入日志的权限。

  2. 查看Worker节点文件系统: 登录到报错的Worker节点,手动检查 /home/admin/.opt/ArmsAgent/logs/ 目录是否存在且ack-onepilot进程有权限写入。如果目录不存在或权限不足,使用适当命令创建目录并调整权限,例如:

    sudo mkdir -p /home/admin/.opt/ArmsAgent/logs/
    sudo chown -R <ack-onepilot-service-account-uid>:<group-id> /home/admin/.opt/ArmsAgent/logs/
    
  3. 重启受影响的Pod: 根据ACK One-Pilot的工作原理,环境变量的更改需要Pod重启才能生效。如果近期有相关配置更新,请考虑重启受影响的Pod以应用最新的配置和权限设置。

    kubectl rollout restart deployment <your-deployment-name> -n <your-namespace>
    
  4. 查看ACK OnePilot日志: 通过查看ACK OnePilot自身的日志信息,可能会发现更多关于错误发生的上下文,这有助于定位问题所在。执行如下命令获取ACK OnePilot Pod的日志:

    kubectl logs -f ack-onepilot-ack-onepilot-XXXX-XXXX -n ack-onepilot
    

    其中XXXX-XXXX需替换为实际的Pod名称。

  5. 检查存储类与卷挂载: 如果日志路径涉及到持久卷(PersistentVolume),检查存储类(StorageClass)配置以及Pod的volumeMounts设置是否正确,确保预期的存储路径可被正确挂载。

通过上述步骤,您可以定位并尝试解决日志中提到的目录创建失败问题。如果问题依旧存在,建议进一步查阅阿里云官方文档或联系技术支持获取更专业的帮助。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

收录在圈子:
+ 订阅
阿里云 云原生应用平台 肩负阿里巴巴集团基础设施云化以及核心技术互联网化的重要职责,致力于打造稳定、标准、先进的云原生产品,成为云原生时代的引领者,推动行业全面想云原生的技术升级,成为阿里云新增长引擎。商业化产品包括容器、云原生中间件、函数计算等。
还有其他疑问?
咨询AI助理