playbook
yaml语法:
1.文件后缀一般为 .yml 或者 .yaml
2.文件开头一般为 —
3.注释使用 #
4.缩进代表层级结构,一般为俩个空格
5.数据结构:
列表 : - 短横线后跟一个空格
例如: - name
字典: 键值对
例如: name: tom :后跟一个空格
一、创建剧本config_nginx.yml。完成以下功能:
1、安装nginx
2、提供默认主页
3、启动并开机自启服务。
nginx的默认路径为 /usr/share/nginx/html
vim config_nginx.yum
---
- host: dev
tasks:
- name: install nginx
yum:
name: nginx
- name: html
copy:
content: 'This is test page.\n'
dest: /usr/share/nginx/html
- name: config service
service:
name: nginx
state: started
enable: yes
- name: firewalld
firewalld:
service: nginx
permanent: yes
immediate: yes
state: enabled
运行剧本:ansible-playbook 文件名 ansible-playbook 文件名 --syntax-check 检测语法 ansible-playbook 文件名 -C空运行
二、创建一个名为packages.yml的剧本
1、在dev, prod 和 test 主机组中安装 php 和 mariadb 软件包
2、在dev 主机组中安装 Development Tools 包组
3、升级dev主机组中主机的所有软件包
方法一: 编写为3个play
---
- name: play 1
hosts: dev,prod,test
tasks:
- name: install php and mariadb
yum:
name:
- php
- mariadb
- name: play 2
hosts: dev
tasks:
- name: install Development Tools
yum:
name: "@Development Tools"
- name: play 3
hosts: dev
tasks:
- name: updage all
yum:
name: '*'
state: latest
方法2:编写2个play
---
- name: play 1
hosts: dev,prod,test
tasks:
- name: install php and mariadb
yum:
name:
- php
- mariadb
- name: play 2
hosts: dev
tasks:
- name: install Development Tools
yum:
name: "@Development Tools"
- name: updage all
yum:
name: '*'
state: latest