在 Ansible 中,Playbook(剧本) 是用于定义复杂、流程化任务的配置文件,采用 YAML 格式编写。它可以将多个任务(如安装软件、配置文件、启动服务等)按顺序组织起来,实现自动化部署、配置管理或应用发布,是 Ansible 实现 “代码化运维” 的核心工具。
yml# 示例:部署 Nginx 的 Playbook(nginx.yml)
- name: 部署 Nginx 服务 # Play 的名称(描述此 Play 的作用)
hosts: elk1 # 目标主机/组(对应 hosts 文件中的定义)
remote_user: root # 远程执行用户
vars: # 变量定义(可在任务中引用)
nginx_port: 80
tasks: # 任务列表(按顺序执行)
- name: 安装 Nginx # 任务名称(描述此步骤的作用)
yum: # 调用 yum 模块
name: nginx
state: present # 确保已安装(幂等性:已安装则不重复操作)
- name: 复制 Nginx 配置文件
copy:
src: ./nginx.conf # 控制机本地配置文件
dest: /etc/nginx/nginx.conf
notify: 重启 Nginx # 若配置文件变化,触发 Handler
- name: 确保 Nginx 服务启动并开机自启
service:
name: nginx
state: started
enabled: yes
handlers: # 处理器(仅在被 notify 触发时执行,通常用于重启服务)
- name: 重启 Nginx
service:
name: nginx
state: restarted
jsansible-playbook <playbook文件名.yml>
本文作者:松轩(^U^)
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!