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 @   谢端阳  阅读(62)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示