Ansible Navigator执行环境运行5分03秒后崩溃(Docker+macOS)求助
调整Ansible Navigator超时配置
当前容器精准在5分03秒后退出,大概率是触发了默认超时限制。可以通过配置文件或命令行参数延长超时时间:- 修改
ansible-navigator.yml或~/.ansible-navigator.yml:execution-environment: timeout: 3000 - 命令行临时覆盖:
ansible-navigator run playbook.yml --ee-timeout 3000
- 修改
保留崩溃后的容器用于调试
默认情况下Ansible Navigator会在任务结束后销毁容器,开启容器保留模式即可事后进入容器排查:- 配置文件添加:
execution-environment: cleanup: false - 命令行参数:
ansible-navigator run playbook.yml --ee-cleanup false - 容器保留后,用
docker ps -a找到目标容器ID,执行docker exec -it <container_id> /bin/bash进入容器查看环境、残留日志。
- 配置文件添加:
提升Ansible日志详细度
增加日志 verbosity 获取崩溃前的执行细节,避免日志中断丢失关键信息:- 运行时添加多级 verbose 参数:
ansible-navigator run playbook.yml -vvvv - 同时将日志输出到文件:
ansible-navigator run playbook.yml -vvvv > ansible_debug.log 2>&1
- 运行时添加多级 verbose 参数:
拆分Playbook定位触发任务
既然单独执行Role正常,说明是多Role组合后的特定步骤导致问题。逐步拆分Playbook,每次添加少量任务,直到复现崩溃,定位到具体触发的任务或操作组合。检查Docker资源限制
macOS上Docker默认有CPU、内存配额,配置内容增多后可能因资源不足触发超时:
打开Docker Desktop → Settings → Resources,调高CPU、内存分配(例如内存设为8GB以上),重启Docker后重新测试。替换基础镜像验证
怀疑Fedora 39镜像存在问题时,更换为其他稳定镜像测试:- 修改执行环境定义文件
execution-environment.yml的基础镜像:base_image: quay.io/centos/centos:stream9 - 重新构建执行环境:
ansible-builder build -t custom-ee:latest,再用新镜像运行任务。
- 修改执行环境定义文件
实时监控容器运行状态
任务运行时新开终端,实时跟踪容器状态:- 用
docker stats查看CPU、内存、磁盘IO使用率,排查资源耗尽情况; - 用
docker logs -f <container_id>实时输出容器日志,捕捉崩溃前的最后执行记录。
- 用
内容的提问来源于stack exchange,提问作者gavsilva
相关产品推荐
相关产品推荐

