ansible剧本

ansible剧本

一、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选项就是显示详细信息