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实例的主要内容,如果未能解决你的问题,请参考以下文章

centos系统通过ansible-palybook 安装 clamav

ansible 基本使用之3 palybook

ansible-palybook

ansible编排部署lamp安装discuz

Ansible-Playbook基础

Ansible安装及简单了解