首页 > 解决方案 > Ansible 操作员日志

问题描述

我们已经实现了 Ansible 运算符。我们有一些错误,尤其是当我们并行运行时。当它们并行运行时,很难从 ansible 容器跟踪消息与消息相关的对象。我想为 ansible 模块的输出生成的每个条目添加某种 ID。直接的方法是修改每个模块执行以添加 ID,但这看起来不太好。有没有更好的解决方案?

标签: kubernetesansible

解决方案


问:“我想为 Ansible 模块输出生成的每个条目添加某种 ID。”

答:尝试ansible-runner。例如运行剧本 example1.yml

$ cat test_01/project/example1.yml
- hosts: test_01
  tasks:
    - debug:
        var: inventory_hostname

$ ansible-runner -p example1.yml run test_01

将创建一个包含完整日志的工件树。

$ tree test_01/artifacts/
test_01/artifacts/
└── 6ead1711-64a6-4cd1-9789-b32f407bc7f9
    ├── command
    ├── fact_cache
    ├── job_events
    │   ├── 1-93b14363-09bd-4817-8d7e-980afd2c9a88.json
    │   ├── 2-645d865d-16b9-7d1b-3747-000000000020.json
    │   ├── 3-645d865d-16b9-7d1b-3747-000000000022.json
    │   ├── 4-8f126531-b0e2-457d-9f8f-ec4220b9cbce.json
    │   ├── 5-0da7fe14-4314-440c-8aca-853a5828b9e8.json
    │   └── 6-57336e18-6510-4f30-a1db-94a684904a0d.json
    ├── rc
    ├── status
    └── stdout

3 directories, 10 files

分析可能也很有用。


推荐阅读