这是博主的ansible的一个学习过程记录笔记,随时进行更新
相关链接
- ansible的介绍:https://blog.51cto.com/hmtk520/2058103
- 安装ansible:https://www.cnblogs.com/syushin/p/13809570.html
- ansible的变量定义:https://www.cnblogs.com/varden/p/13890032.html
- ansible的模块:https://docs.ansible.com/ansible/2.9/modules/list_of_all_modules.html
- ansible的become使用方式:https://blog.csdn.net/u013084266/article/details/105670617
- ansible的playbook介绍:https://blog.51cto.com/u_9124573/1769887
- ansible的role介绍:https://blog.51cto.com/u_13613726/2627846
- ansible的传送文件方式:https://blog.csdn.net/icanflyingg/article/details/122584352
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