ansible相关知识小结


ansible的blockinfile方法的缩进处理

因为自动部署需要将一部分配置插入yaml格式的配置文件,但是涉及到缩进的问题,需要在“scrape_configs:”后一行缩进两个空格后插入。
代码示例如下

- name: append prometheus metric to config
  blockinfile:
    dest: "/etc/xxx/prometheus.yml"
    marker: "# {mark} xx prometheus metric"
    insertafter: "scrape_configs:"
    block: |2
        - job_name: 'jvm'
          metrics_path: '/actuator/prometheus'
          static_configs:
          - targets: ['"{{ ip }}":7320']

具体做法是在block后的“|”填写一个数字,这里为2,然后block下的内容也有一个缩进这里为4,block下的缩进减去“|”后的数字即为插入后,内容相对于"scrape_configs:"的实际缩进,即为2

如果是要4个空格的缩进则为:

- name: append prometheus metric to config
  blockinfile:
    dest: "/etc/xxx/prometheus.yml"
    marker: "# {mark} xx prometheus metric"
    insertafter: "scrape_configs:"
    block: |2
          - job_name: 'jvm'
            metrics_path: '/actuator/prometheus'
            static_configs:
            - targets: ['"{{ ip }}":7320']

debug方法

  - name: Show debug info
    debug:
      msg: 这是一个msg自定义输出测试