ARMS中k8s 集群通过 ack-onepilot 接入 arms后,pod 日志会报一个错误,[ARMS Logger][ERROR] Fail to mkdirs: /?/logs/arms/tracelogs,怎么才能消除啊?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
针对您在ARMS中遇到的Kubernetes集群通过ack-onepilot接入后,Pod日志中出现的错误信息[ARMS Logger][ERROR] Fail to mkdirs: /?/logs/arms/tracelogs
,可以尝试以下步骤进行排查和解决:
检查ACK OnePilot配置与权限: 确认ack-onepilot组件是否正确安装并配置。请按照官方文档指引检查组件状态,并确认其是否有足够的权限在Worker节点上创建所需的目录结构。特别是,确保ack-onepilot服务账户具有在节点文件系统上写入日志的权限。
查看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/
重启受影响的Pod: 根据ACK One-Pilot的工作原理,环境变量的更改需要Pod重启才能生效。如果近期有相关配置更新,请考虑重启受影响的Pod以应用最新的配置和权限设置。
kubectl rollout restart deployment <your-deployment-name> -n <your-namespace>
查看ACK OnePilot日志: 通过查看ACK OnePilot自身的日志信息,可能会发现更多关于错误发生的上下文,这有助于定位问题所在。执行如下命令获取ACK OnePilot Pod的日志:
kubectl logs -f ack-onepilot-ack-onepilot-XXXX-XXXX -n ack-onepilot
其中XXXX-XXXX
需替换为实际的Pod名称。
检查存储类与卷挂载: 如果日志路径涉及到持久卷(PersistentVolume),检查存储类(StorageClass)配置以及Pod的volumeMounts设置是否正确,确保预期的存储路径可被正确挂载。
通过上述步骤,您可以定位并尝试解决日志中提到的目录创建失败问题。如果问题依旧存在,建议进一步查阅阿里云官方文档或联系技术支持获取更专业的帮助。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。