ansible playbook 学习

ansible playbook 文档结构

---
- hosts: webservers
  remote_user: root
  vars:
    var_name: value
  tasks:
    - name: echo
      shell: "echo {{var_name}}"

---     #开始
- name: play1 #任务名称
  hosts: webservers   #使用ansible的hosts文档里面的主机组名称(/etc/ansibles/hosts)
  remote_user: root   #使用root用户
  vars:        #ansible-playbook的变量声明
    var_name: value    #playbook变量名var_name后面:是变量的值
  tasks:  #ansible-playbook任务声明
    - name: echo  #playbook任务名称
      shell: "echo {{var_name}}"  #playbook任务操作的内容
 
- name: play2   #paly2参照上面paly1
  hosts: webservers
  remote_user: root
  vars:
    var_name: value
  tasks:
    - name: echo
      shell: "echo {{var_name}}"

 

ansible-playbook变更时执行操作(headlers)

notify:在任务结束时触发
handlers:由特定条件触发Tasks
---
hosts: webservers
  gather_facts: no

  tasks:
  - name: Copy nginx configuration file
    copy:
      src: ./site.conf
      dest: /etc/nginx/conf.d/site.conf
    notify:
      - restart nginx

  handlers:
    - name: restart nginx
      service: name=nginx state=reloaded

任务控制(tags)

---  #每一个ansible-playbook任务文档开始必须是---
- hosts: webservers  #ansible的hosts文档里面写的主机组名称(/etc/ansible/hosts)
  gather_facts: no  #禁止 Ansible 收集 facts 信息

  tasks: #ansible声明任务
    - name: Install redis  #任务名称
      yum: name=redis state=present  #任务操作内容
      tags: install  #任务安装动作
   
    - name: Copy redis configuration file #任务名称
      copy: src=redis.conf dest=/etc/redis/redis.conf  #任务操作内容
      tags: configuration #任务拷贝配置文件动作

    - name: Restart redis #任务名称
      service: name=redis state=restarted #任务操作内容
      tags: restart  #任务执行的动作

 

 

 

posted @ 2021-11-09 11:05  谢端阳  阅读(66)  评论(0)    收藏  举报