小机灵鬼|自动化运维工具:ansible(二)
接(上篇)自动化运维工具:ansible(一)
13、ansible系列命令1>ansible-galaxy
连接下载相应的roles(角色)
列出所有已安装的galaxy
- ansible-galaxy list
- ansible-galaxy install geerlingguy.redis
- ansible-galaxy remove geerlingguy.redis
3>Ansible-playbook
(1)playbook是由一个或多个 "play" 组成的列表 , 采用YAML语言编写 。play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色 。 从根本上来讲 , 所谓task无非是调用ansible的一个module 。 将多个play组织在一个playbook中 , 即可以让它们联同起来按事先编排的机制同唱一台大戏 。
(2)YAML是一个个可读性高的用来表达资料序列的格式 。 YAML参考了其他多种语言 , 包括:XML、C语言、Python、 Perl以及电子邮件格式RFC2822等 。YAML Ain't Markup Language , 即YAML不是XML 。 不过 , 在开发的这种语言时 , YAML的意思其实是:"Yet Another Markup Language" (仍是一种标记语言)
特性:
- YAML的可读性好
- YAML和脚本语言的交互性好
- YAML使用实现语言的数据类型
- YAML有一个一致的信息模型
- YAML易于实现
- YAML可以基于流来处理
- YAML表达能力强 , 扩展性好
(3)在单一档案中 , 可用连续三个连字号(一)区分多个档案 。 另外 , 还有选择性的连续三个点号(...)用来表示档案结尾次行开始正常写Playbook的内容 , 一般建议写明该Playbook的功能使用#号注释代码
- 缩进必须是统一的 , 不能空格和tab混用
- 缩进的级别也必须是一致的 , 同样的缩进代表同样的级别 , 程序判别配置的级别是通过缩进结合换行来实现的
- YAML文件内容和Linux系统大小写判断方式保持一致 , 是区别大小写的 , k/v的值均需大小写敏感
- k/v的值可同行写也可换行写 。 同行使用:分隔
- v可是个字符串 , 也可是另一个列表
- 一个完整的代码块功能需最少元素需包括name: task
- 一个name只能包括一个task
- YAML文件扩展名通常为yml或yaml
示例:[root@ansible ansible]#cat file.yml ---- hosts: webserver#一个hosts列表 , 定义针对的列表主机remote_user: roottasks:#任务- name: create new file#任务列表1file: name=/root/newfile state=touch- name: create new user#任务列表2user: name=test system=yes shell=/sbin/nologin(5)Dictionary:字典 , 通常由多个key与value构成示例:# An employee recordname: Example Developerjob: Developerskill: Elite也可以将key:value放置于{}中进行表示 , 用","分隔多个key:value# An employee record{name: Example Developer, job: Developer, skill: Elite}
(6)Hosts:执行的远程主机列表
playbook中的每一个play的目的都是为了让某个或某些主机以某个指定的用户身份执行任务 。 hosts用于指定要执行指定任务的主机 , 须事先定义在主机清单中 。
可以是如下形式:
- one.example.com
- one.example.com:two.example.com
- 192.168.100.10
- 192.168.100.*
- webserver:dbserver 两个组的并集
推荐阅读
- 小机灵鬼|干货速来!透彻剖析微服务架构设计模式,深入开发Java有奇效
- 中国新闻网|沈阳自动化所牵头制定“WIA-FA”一致性测试国家标准获批
- 科技匠|手把手教你如何使用免费自动化工具——Appium(安卓版)
- 执笔抒情|万茜发文向宁静郁可唯几位姐姐道歉,配图还在抖机灵
- 小机灵鬼|央视重磅关注天府新区这件事
- NBA|原创万茜发文向宁静郁可唯几位姐姐道歉,配图还在抖机灵
- 小机灵鬼|小米截胡?雷军宣布第三代自研屏下摄像头明年量产,中兴黯然失色
- 津爱改装车|我选择的开源运维监控系统-Prometheus
- 小机灵鬼|4K屏设计专业神器!ROG幻15成开学季最香生产力工具
- SpreadJS 应用案例:电力自动化在线数据采集报表系统
