Ansible Playbook是Ansible中用于自动化任务执行的配置文件,采用YAML格式编写。通过Playbook,运维人员可以定义多个任务(Tasks),让Ansible按照指定的顺序执行,从而实现应用的批量部署。下面带来使用 Playbook 批量部署应用的方法。
步骤一:准备Ansible环境
在开始使用Ansible Playbook部署应用之前,需要先安装和配置Ansible。
安装Ansible在Linux系统(如CentOS或Ubuntu)上执行以下命令安装Ansible:
sudo apt update&&sudo apt install ansible#Ubuntu/Debian
sudo yum install epel-release-y&&sudo yum install ansible-y#CentOS/RHEL
配置受控节点
确保目标服务器(受控端)已安装SSH并允许Ansible主机免密登录。
在控制端生成SSH密钥并分发到目标机器:
ssh-keygen-t rsa
ssh-copy-id user remote_host
配置/etc/ansible/hosts文件,添加受控节点信息,例如:
web_servers
192.168.1.10
192.168.1.11
步骤二:编写Ansible Playbook
Playbook由多个部分组成,主要包括hosts(目标主机)、tasks(任务)等。
创建Playbook文件在Ansible主机上新建一个YAML格式的Playbook文件,如deploy_app.yml。
编写Playbook内容下面是一个示例Playbook,批量在目标服务器上安装Nginx并启动:
-name:批量部署Nginx
hosts:web_servers
become:yes
tasks:
-name:安装Nginx
apt:
name:nginx
state:present
when:ansible_os_family=="Debian"
-name:安装Nginx(CentOS)
yum:
name:nginx
state:present
when:ansible_os_family=="RedHat"
-name:启动Nginx
service:
name:nginx
state:started
enabled:yes
步骤三:执行Ansible Playbook
在编写好Playbook后,可以使用以下命令执行:
ansible-playbook deploy_app.yml
执行成功后,Nginx将被批量部署并启动。
步骤四:验证部署结果
通过以下命令检查Nginx是否成功运行:
systemctl status nginx
在浏览器(如谷歌浏览器官网)中输入目标服务器的IP地址,检查Nginx欢迎页面是否正常显示。