Ansible 搭建 (配置安装)

在这里插入图片描述

ansible是个什么东西呢?官方的title是“Ansible is Simple IT Automation”——简单的运维自动化工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务。

ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

Ansible组成结构:
1)Ansible
是Ansible的命令工具,核心执行工具;一次性或临时执行的操作都是通过该命令执行。
2)Ansible Playbook
任务剧本(又称任务集),编排定义Ansible任务集的配置文件,由Ansible顺序依次执行,yaml格式。
3)Inventory
Ansible管理主机的清单,默认是/etc/ansible/hosts文件。Inventory文件通常用于定义要管理的主机的认证信息,例如ssh登录用户名、密码以及key相关信息。可以同时操作一个组的多台主机,组与主机组之间的关系都是通过inventory文件配置。配置文件路径为:/etc/ansible/hosts
Inventory内置参数
在这里插入图片描述
4)Modules
Ansible执行命令的功能模块,Ansible2.3版本为止,共有1039个模块。还可以自定义模块。
5)Plugins
插件,模块功能的补充,常有连接类型插件,循环插件,变量插件,过滤插件,插件功能用的较少。
6)API
提供给第三方程序调用的应用程序编程接口。

Ansible的特点:
1、ansible不需要单独安装客户端,也不需要启动任何服务
2、ansible是python中的一套完整的自动化执行任务模块
3、ansible playbook 采用yaml配置,对于自动化任务执行过一目了然
4、轻量级,无需在客户端安装agent,更新时,只需在操作机上进行一次更新即可;
5、批量任务执行可以写成脚本,而且不用分发到远程就可以执行;
6、支持sudo。

Ansible 配置

环境:
准备两个服务机
服务机 192.168.110.117
客户机 192.168.110.164

服务机中:
1.安装ansible
[root@localhost ~]# yum install ansible -y
在这里插入图片描述
在这里插入图片描述
2.生成公钥私钥 ssh-keygen 一直按回车
在这里插入图片描述
3.进入到.ssh下
cd .ssh
在这里插入图片描述
4.将公钥上传到被管理机
ssh-copy-id -i [email protected](被管理机IP)
在这里插入图片描述
4.此时在被管理机的.ssh目录下会自动生成一个 authorized_keys,ls查看
在这里插入图片描述

5.编辑配置文件, vim /etc/ansible/hosts,在末端添加一个模块
(被管理IP地址)
在这里插入图片描述
5.测试连接 ansible -m ping ‘test-servers’
在这里插入图片描述

6.再cd到家目录,创建一个文件夹为了方便验证使用,必须用touch创建。
在这里插入图片描述
7.传到被管理机的/tmp下 再cd到 .ssh 下 如下图
在这里插入图片描述

8.此时在被管理机的/tmp目录下会接收到管理机传输的文件 去客户机里去查看
在这里插入图片描述
此时这里出现自己创建的xxx.txt 文件
Ansible 成功

扫描二维码关注公众号,回复: 10060646 查看本文章
发布了51 篇原创文章 · 获赞 8 · 访问量 5620

猜你喜欢

转载自blog.csdn.net/xxx0028/article/details/104542048