ansible怎么使用(Ansible 快速入门到放弃)
Ansible 快速入门到放弃
最是人间留不住 ,朱颜辞镜花辞树 。
1-Ansible 简介
Ansible是一个配置管理和配置工具 ,它使用SSH 连接到服务器并运行配置好的任务 ,服务器上只需要开启ssh ,所有工作都交给client 端的ansible 负责 。 当我们有批量部署的需求时 ,我们可以自己写脚本 ,但是更推荐使用 Ansible 。使用 Ansible 无需编码只需要配置 yaml 文件 ,并且 Ansible 已经内置了幂等性 、并发度控制等功能 ,大大减少了批量部署时的工作量 。Ansible 是基于模块工作的 ,本身没有批量部署的能力 ,真正具有批量部署的是ansible 所运行的模块 ,ansible只是提供一种框架 。主要包括:
连接插件connection plugins:负责和被监控端实现通信; host inventory:指定操作的主机 ,是一个配置文件里面定义监控的主机; 各种模块核心模块 、command模块 、自定义模块; 借助于插件完成记录日志邮件等功能; playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务 。Ansible 特点 ,主要有以下几点:
不需要安装客户端 ,通过sshd去通信; 安装简易,centos上可直接yum安装; 基于模块工作 ,模块可以由任何语言开发; 不仅支持命令行使用模块 ,也支持编写yam l 格式的playbook ,易于编写和阅读 。Ansible 大致原理 ,主要一下三点:
hosts 配置文件 ,作用是告诉 Ansible 你的程序要部署到哪些机器 。 yaml 文件 ,作用是告诉 Ansible 在目标机器上执行哪些操作 。 Ansible 不需要在目标机器上安装客户端 ,它通过 SSH 把指令和要部署的程序发送到目2-Ansible 安装
Ansible 支持集群 ,资源有限本示例仅在本地虚拟机使用两台机器进行演示 ,角色如下 。
192.168.8.135 角色-服务端 192.168.8.136 角色-客户端只需要在服务端上安装ansible ,安装命令如下 。
或
查看安装是否成功
使用ssh-keygen 命令在服务端上生成密钥对 。
建立服务端与客户端的连接 ,也就是配置密钥认证的SSH连接。
View Code
补充步骤 ,配置密钥认证的SSH连接 。
编辑服务端上的配置文件,配置远程主机组 。
3-Ansible 执行远程命令1
完成了ssh 密钥认证以及主机组的配置之后就可以通过ansible 对客户端远程执行命令了 ,但是我这边还是报错UNREACHABLE Permission denied,暂时加上如下配置后可以正常执行远程命令。
4-Ansible 执行远程命令2
首先在服务端上创建一个简单的shell 脚本 tjt.sh 用来测试 。
然后把脚本 tjt.sh 分发到远程机器上 ,具体路径是/home/tjt 目录下 。
最后通过shell 模块执行远程机器上的shell 脚本 。
查看远程机器上 ,是否执行了 tjt.sh 脚本 ,并且生成了/home/tjt/ansible_test.txt文件 。
如上 ,可以看到脚本被正常执行了 。
5-Ansible 执行
yml 文件
编辑 YAML 文件
yml 文件是告诉 Ansible 在目标机器上执行哪些操作 ,Ansible 把这类文件称为 “playbook ” 。
playbook 相当于可以把模块命令都写入到配置文件里面 ,这样就可以直接执行配置文件了 ,类似脚本的意思 。
下面编写一个为名tjtAnsibleDemo.yml 的 playbook ,这个 playbook 的作用是把 helloWorld.java 文件发送到 serviceA 集群 。
View Code
检查远程机器是否成功收到 helloWorld.java 文件 。
如上 ,代表执行成功 。
最是人间留不住
朱颜辞镜花辞树
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!