YMAL
全称YAML Ain’t Markup Language 中文是非标记语言的意思
YMAL的语法分为两类
列表
Car
- benchi
- Dazhong
- Fute
- Tongyong
- Fengtian
- Bentian
字典
martin:
name: Martin D’vloper
job: Developer
skill: Elite
ansiable+YMAL案例
通过YAML编写简单剧本,完成web的部署,配置,启动的全过程
ansible all -m yum -a ‘name=httpd state=removed’ -o 清理目标主机的httpd
yum install -y httpd 在本机安装httpd
mkdir apache
cd apache
cp -rf /etc/httpd/conf/httpd.conf ./ 复制配置文件到当前的apache文件夹内
sed -ri ‘/^Listen/cListen 8080’ httpd.conf 修改当前目录配置文件的端口为8080
编写剧本 apache.ymal 写入 注意格式 – name是任务的名字 没有命名限制但是要看得懂
下一行为ansiable调用的模块 yum、copy、service等模块 模块名后可以加上想要执行的操作
- hosts: host1
tasks:- name: 安装阿帕奇
yum: name=httpd state=present - name: 发送httpd配置文件到子主机
copy: src=/etc/httpd/conf/httpd.conf dest=/etc/httpd/conf/httpd.conf
notify: 重启httpd #如果执行复制配置文件的命令 引用重启httpd - name: 启动httpd服务
service: name=httpd state=started enabled=yes
handlers: #定义要执行的操作 在需要该操作的地方进行引用 - name: 重启httpd
service: name=httpd state=restarted
编写完成后进行测试
Ansible-playbook apache.yaml –syntax-check #检查语法编写是否有错误
ansible-playbook apache.yaml --list-tasks #列出任务
ansible-playbook apache.yaml --list-hosts #查看该剧本操作的主机
ansible-playbook apache.yaml 运行剧本
浏览器输入目标主机的IP地址:8080进行访问吧
- name: 安装阿帕奇