ansible学习笔记

这是博主的ansible的一个学习过程记录笔记,随时进行更新

相关链接

demo项目

相关连接:https://github.com/liushuyu1/ansible-demo

ansible项目基本结构

ansible-demo
|-- demo-inventory.ini 这个是记录的主机的信息,比如主机的host,port,user,password
|-- demo-playbook.yml 这个是剧本,里面主要记录在哪些主机上执行什么任务
|-- group_vars 这个是组相关的变量的文件夹
|   `-- group1.yml 这个是group1的变量文件
|-- host_vars 这个是主机相关的全局变量
|   `-- 119.91.100.32.yml 这个是119.91.100.32的变量文件
|-- README.md
`-- roles 这个是角色文件夹
    `-- demo-role 角色demo-role的内容,playbook引用的时候,需要输入这个文件夹名
        |-- files 保存没有变量的文件
        |   `-- demo-file.txt
        |-- tasks 保存任务相关的东西,主要是定义任务的动作,main.yml是入口,main.yml引用其他动作可以使用include
        |   `-- main.yml
        `-- templates 保存有变量相关的模板文件,和file的差别就是template有变量,file没变量
            `-- demo-template.sh.j2

相关知识点

1.with_items的使用方法
使用item的地方会被循环执行,有几个item就被执行几次

- name: create deploy directories
  file: path={{ item }} state=directory mode=0755
  with_items:
  - "{{ deploy_dir }}/ice_via/config"
  - "{{ deploy_dir }}/ice_via/cert"
  - "{{ deploy_dir }}/ice_via/logs"
  - "{{ deploy_dir }}/ice_via/deploy/lmdb/registry"


- name: "Copy certificate"
  copy:
    src: "{{ ice_via_cert_dir }}/{{ item }}"
    dest: "{{ deploy_dir }}/ice_via/cert/{{ item }}"
    mode: 0600
    backup: yes
  with_items:
    - ca.pem
    - server.pem
    - server.key
    - client.pem
    - client.key

2.register的使用方法
register将shell执行后的输出放到current_path对象的stdout属性中,如果要使用的话可以配合with_items一起使用

- name: 任务3-获取~的目录路径
  register: current_path
  ignore_errors: yes
  shell:
    cmd: cd ~ && pwd
- name: 任务4-执行demo-template.sh
  with_items: "{{ current_path.stdout }}"
  shell:
    cmd: /{{ item }}/demo-template.sh > ~/demo-template-out.txt

相关连接:https://blog.csdn.net/iris_csdn/article/details/104634962

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值