编辑: 哎呦为公主坟 | 2019-07-09 |
1 1.2 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.4.1 1.4.5 1.4.5.1 1.5 1.5.1 1.5.2 1.5.2.1 1.5.2.2 1.5.2.3 1.5.3 1.5.3.1 1.5.3.1.1 1.5.3.1.2 1.5.3.1.3 1.5.3.2 1.5.3.2.1 1.5.3.2.2 1.5.3.2.3 目录 声明 什么是Ansible Ansible的架构 Ansible Tower的架构 Ansible上手 安装Ansile Ansible管理哪些主机 Ansible用命令管理主机 Ansible用脚本管理主机 Play vs Playbook Ansible模块Module 常用几个module的用法 Ansible进阶 ansible的配置 Host Inventory 远程主机的分组 远程主机的连接参数和变量 按目录结构存储变量 Ansible的脚本(Playbook) Playbook基本语法 主机和用户(hosts&
user) 执行的任务(Tasks) 响应事件(Handler) 变量 Playbook中使用的变量 主机的系统变量(facts) 把运行结果当做变量使用
1 1.5.3.2.4 1.5.3.2.5 1.5.3.3 1.5.3.3.1 1.5.3.3.2 1.5.3.3.3 1.5.3.4 1.5.3.4.1 1.5.3.4.2 1.5.3.5 1.5.4 1.5.4.1 1.5.4.2 1.5.4.3 1.5.5 1.6 1.6.1 1.6.2 文件模板中使用的变量 用命令行传递参数 Playbok中的逻辑控制语句 条件语句when 循环语句loop 块语句block 如何重用Playbook 重用单个playbook文件(include语句) Playbook的 Package (role语句) 利用tags执行部分tasks 更多的Ansible模块(Extra Modules) Modules的分类 Extra module的使用方法 命令行查看module的用法 写出更好的Playbook脚本 推荐的参考资料 YAML语法基础 待续
2 声明 此书电子版免费供大家下载阅读,如果您已为此副本付费,请立即申请退款并联系 作者举报此行为.请注意,虽然此书电子版免费供大家阅读,但这并不代表作者放 弃了版权,您在未经授权的情况下依然不得以任何方式复制或抄袭本书内容.此书 的电子版目前仅授权图灵社区和gitbook.com两个平台发布,如果您通过其他渠道获 取到了此副本,则是侵权行为,请到上述两个平台下载合法授权的副本.获取合法 授权副本的好处是可以及时得到此书的最新版本,早期版本中的错误会被及时纠 正.感谢您对版权保护工作所做出的贡献. 作者
邮箱:[email protected] 作者Github: https://github.com/shijingjing1221/ 声明
3 Ansible介绍 什么是Ansible? Ansilbe是一个部署一群远程主机的工具.远程的主机可以是本地或者远程的虚拟 机,也可以是远程的物理机. Ansible能做什么? Ansilbe通过SSH协议进行管理节点和远程节点之间的通信.理论上说管理员通过 ssh到一台远程主机上能做的操作Ansible都可以做. 包括: 拷贝文件 安装包 起服务 ... 快速定位本书 Google Ansible入门 或 访问网站 Ansible入门 http://getansible.com/ 本书资源 本文的所有ansible playbook例子都放在github上,欢迎补充和纠错: https://github.com/ansible-book/ansible-first-book-examples 也可以联系作者进行纠正错误: [email protected] 什么是Ansible
4 Ansible的架构 Ansilbe管理员节点和远程主机节点通过ssh协议进行通信.所以Ansible配置的时候 只需要保证从Ansible管理节点通过SSH能够连接到被管理的远程的远程节点即可, 当然需要建立的ssh,是基于key的,不能要求输入密码,下一章会讲到具体的配置 方法. 连接方式SSH 在管理员节点安装Ansible,编写脚本.在管理节点执行命令或者脚本时,通过SSH 连接被管理的主机. 被管理的远程节点不需要进行特殊安装软件. 支持多种类型的主机 Ansible可以同时管理Redhat系的Linux,Debian系的Linux,以及Windows主机. 管理节点只在执行脚本时与远程主机连接,没有特别的同步机制,所以发生断电等 异常一般不会影响ansbile. Ansible的架构