kaifg

导航

ansible-playbook

Ansible执行任务的方式:
    Ad-hoc:
        ansible
    playbook:
        ansible-playbook


执行playbook剧本文件
  ansible-playbook httpd.yml

语法检测
  ansible-playbook --syntax-check httpd.yml

----------------------------
playbook中的核心元素:

hosts:   #执行任务的主机组
tasks:   #任务列表
vars:    #变量
remote_user: #连接远程主机的用户
  name:  #单个任务的说明,一个name一个任务,单个name下只能使用一个模块
  ignore_errors: # 忽略任务的报错,继续往下执行


----------------------------
案例

批量源码部署Nginx
##################################################################
---
- hosts: webservers
  tasks:
    - name: "分发nginx安装包"
      copy: src=nginx-1.18.0.tar.gz  dest=/root/
    - name: "解压源码包"
      shell: cd /root/ && tar zxf nginx-1.18.0.tar.gz
    - name: "安装依赖环境"
      yum: name=gcc,pcre-devel,openssl-devel  state=latest
    - name: "编译安装Nginx"
      shell: cd /root/nginx-1.18.0 && ./configure && make && make install
    - name: "启动Nginx"
      shell: /usr/local/nginx/sbin/nginx
##################################################################

变量的定义和引用
##################################################################
---
- hosts: webservers
  vars:
    page: 1806A
  tasks:
    - name: "创建Nginx测试页面,内容为:{{ page }}"
      shell: echo "{{ page }}" > /usr/local/nginx/html/index.html

在模板文件中引用变量
创建测试页面模板
  vim index.html.j2
  "{{ page }}"

---
- hosts: webservers
  vars:
    page: 1806A
  tasks:
    - name: "创建Nginx测试页面"
      template: src=index.html.j2  dest=/usr/local/nginx/html/index.html


##################################################################

posted on 2020-12-08 15:11  kaifg  阅读(63)  评论(0编辑  收藏  举报