一、ansible剧本
- 也就是一系列的ansible的命令的集合
1、yaml语法规则
-
大小写敏感
-
使用缩进标识层级关系
-
使用缩进时必须是空格,不能是Tab键
-
缩进的空格数不重要,只要同一层级保持一致就可以
-
有的时候需要加上一个 -
2、yaml数据类型
纯量:单个的,已经是最小个体,无法再拆分
数组:一组按次序排列的值,数组元素使用 短横线开头
-
var01
-
var02
字典:采用键值对的方式
基本信息:名称: 张三年龄: 30性别: 男地址:国家: 中国省份: 广东城市: 广州街道: 中山路邮编: 510000联系方式:电话: - 类型: 手机号码: 13800000000- 类型: 工作号码: 020-88888888邮箱: zhangsan@example.com技能:编程语言:- Python- Java- JavaScript工具:- Git
2、编写剧本案例
1、示范
[devops@master ansible]$ cat yum.yml
- name: install package # 这个yaml的描述信息hosts: node1 # 在哪一个主机上进行操作tasks: # 定义任务- name: # 任务的描述信息yum: # 使用的模块为yumname: vsftpd # 模块里面的参数state: present# 执行剧本
[devops@master ansible]$ ansible-playbook yum.yml
2、编写一个安装httpd剧本
-
写一个剧本
-
安装httpd,启动,防火墙,自定义文件内容
[devops@master ansible]$ cat httpd.yaml
- name: config httpdhosts: node1tasks:- name: install httpdyum:name: httpdstate: present- name: config-firewalldfirewalld:service: httppermanent: truestate: enabledimmediate: true- name: config-filecopy:content: "welcome web age \n"dest: /var/www/html/index.html- name: start httpdservice:name: httpdstate: startedenabled: yes# 访问[devops@master ansible]$ curl node1
welcome web age
3、ansible-playbook
-
-v选项就是显示详细信息