Ansible palybook简介及基础安装Apache实例
Posted 从来没想过可以这么努力
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible palybook简介及基础安装Apache实例相关的知识,希望对你有一定的参考价值。
Playbook简介
playbook是由一个或多个模块组成得,使用多个不同得模块, 完成一件事情
playbook通过yaml语法识别描述得状态文件,扩展名是yaml。
yaml 三板斧
缩进:yaml使用一个固定的缩进风格表示层级结构,每个缩进由两个空格组成,不能使用tabs(默认,因为一个tab=4个空格)
解决方法:修改vim编辑器,文件默认没有
[root@manager ~]# cat .vimrc
set tabstop=2
冒号:以冒号结尾的除外,其他所有冒号后面所有必须有空格。多个项使用同样的缩进级别作为统一列表。
短横线:表示列表项,使用一个段横杠加一个空格。多个想使用同样的缩进级别作为统一列表。
基本语法
- host: all
tasks:
- name: Install Rsync
yum: name=rsync state=installed
- name: Configure Rsync
copy: src=
- name: Start Rsync Service
service: name=rsyncd state=started enabled=yes
Playbook的核心元素
- hosts:主机清单
- tasks:任务
- vars:变量
- handlers:特定条件触发的任务
- template:包含了模块语法的文本文件
ansible-playbook命令的常用选项
命令格式:ansible-playbook [option] filename
-C, --check 模拟运行
--list-hosts 列出剧本主机清单
--list-tags 列出剧本标记
--list-tasks 列出剧本任务
--syntax-check 检测语法
ansible playbook安装apache示例
1)准备apache的配置文件
[root@manager conf]# mkdir -p /etc/ansible/ansible_playbook/conf
[root@manager conf]# scp root@10.10.10.14:/etc/httpd/conf/httpd.conf /etc/ansible/ansible_playbook/conf
[root@manager conf]# sed -i ‘s#Listen 80#Listen 8080#g‘ httpd.conf
[root@manager ansible_playbook]# vim webserver.yaml
- hosts: web01
tasks:
- name: Install Httpd
yum: name=httpd state=installed
#- name: Configure Httpd
- name: Start Httpd
service: name=httpd state=started enabled=yes
[root@manager ansible_playbook]# ansible-playbook --syntax-check webserver.yaml #检测语法
playbook: webserver.yaml #出现playbook:*.yaml表示没有错误
- hosts: web01
tasks:
- name: Install Httpd
yum: name=httpd state=installed
- name: Configure Httpd
copy: src=./conf/httpd.conf dest=/etc/httpd/conf/httpd.conf
notify: Restart Http Service #监控这个任务,如果发生变化,触发Restart Http Service
- name: Start Httpd
service: name=httpd state=started enabled=yes
handlers:
-name: Restart Http Service #必须与之前的相同才可以触发
service: name=httpd state=restarted
以上是关于Ansible palybook简介及基础安装Apache实例的主要内容,如果未能解决你的问题,请参考以下文章