playbook剧本简介
ansible执行命令有两种方式AD-hoc和playbook剧本,这里可类比于shell命令和shell脚本。ansible里面的AD-hoc类似于一条条shell命令,进行简单的任务执行,适用场景如分发配置文件、获取远程主机简单信息、分发软件安装包等。而ansible里面的playbook类似于shell脚本,将一条条指令写在一个yaml文件中,再使用ansible-playbook命令批量执行。playbook用于批量执行命令,例如在服务器上搭建架构体系,安装步骤繁琐的服务等。
playbook剧本的编写
下面为简单的使用ansible剧本实现Apache的安装配置。
---
- hosts: websvs
tasks:
- name: "使用yum模块安装apache"
yum: name=httpd state=latest
- name: “使用copy模块复制配置文件”
copy: src=/opt/httpd.conf dest=/etc/httpd/conf/httpd.conf
- name: “启动apache”
service: name=httpd state=latest enabled=yes
上文中开头3个“-”相当于shell脚本里面的#!/bin/bash,使系统可将其识别为playbook。
hosts后为要操控的远程主机的主机组
tasks下为远程主机执行的命令
“-name”为各项任务的名称
使用ansible的模块执行各项命令
playbook实现lamp+wordpress项目
下文为playbook编写剧本源码搭建lamp环境。
---