自动化运维工具ansible——安装及模块管理

  

ansible简介

  
  

? ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(傀儡,cfengine,厨师,func,织物)的优点,实现了批量系统配置,批量程序部署,批量运行命令等功能。

     

自动化运维工具ansible——安装及模块管理

  
  

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

     

ansible的架构

  
 <代码>连接其他主机默认使用ssh协议 
  

自动化运维工具ansible——安装及模块管理

  
  

<强> ansible核心核心引擎:即ansible本身
<强>主机库存主机清单:用来定义ansible所管理主机,默认是在ansible的主机配置文件中定义被管理主机,同时也支持自定义动态主机清单和指定其他配置文件的位置
<强>连接插件连接插件:负责和被管理主机实现通信,除支持使用SSH连接被管理主机外,ansible还支持其他的连接方式,所有需要有连接插件将各个主机用连接插件连接到ansible
<强>剧本剧本:用来集中定义ansible任务的配置文件,即将多个任务定义在一个剧本中由ansible自动执行,可以由控制主机针对多台被管理主机同时运行多个任务
<>强劲核心模块核心模块:是ansible自带的模块,使用这些模块将资源分发到被管理主机使其执行特定任务或匹配特定的状态
<强>自定义模块自定义模块:用于完成模块功能的补充,可借助相关插件完成记录日志,发送邮件等功能

     

实验环境

  
 <代码>控制主机192.168.13.128
  被管理主机192.168.13.129
  被管理主机192.168.13.130  
  

一、ansible的安装(在控制主机上)

  

1,安装ansible服务

  
 <代码> [root@promote ~] # systemctl firewalld停止。服务# #关闭所有主机的防火墙
  (root@promote ~) # setenforce 0
  (root@promote ~) # yum安装epel-release - y # #安装epel源
  (root@promote ~) # yum安装ansible - y # #安装ansible服务
  root@promote ~ # yum安装树- y
  (root@promote ~) #树/etc/ansible/# #查看ansible属性结构/etc/ansible/├──ansible。cfg # #配置文件
  ├──主机# #主机清单
  └──角色 
  

2,编辑主机主机清单

  
 <代码> [root@promote ~] # vim/etc/ansible/hosts # #编辑ansible主机清单
  (网络服务器)
  192.168.13.129 # #网络的主机地址
  (mysql)
  192.168.13.130 # # mysql的主机地址 
  

3,生成秘钥对,推送

  
 <代码> [root@promote ~] # ssh - keygen - t rsa # #生成秘钥对
  生成公钥/私rsa密钥对。
  输入文件中保存的关键(/root/. ssh/id_rsa): # #回车
  创建目录/root/. ssh。
  没有密码输入密码(空):# #输入密码
  再次输入相同的密码:# #确认密码
  (root@promote ~) # ls . ssh/# #查看秘钥
  id_rsa id_rsa . pub
  (root@promote ~) # ssh-copy-id root@192.168.13.129 # #上传秘钥到后面的服务器上
  (root@promote ~) # ssh-copy-id root@192.168.13.130  
  

4,使用ansible命令行执行

  
 <代码> [root@promote ~] # ansible网络服务器- m命令——“日期”# #使用ansible命令行模块执行日期
  为关键的/根/输入密码。ssh/id_rsa”: # #输入秘钥密码
  192.168.13.129 | |改变rc=0祝辞祝辞
  2020年01月23日星期三23:57:16春秋国旅
  
  (root@promote ~) # ansible mysql - m命令——“日期”
  输入密码键“/root/. ssh/id_rsa”:
  192.168.13.130 | |改变rc=0祝辞祝辞
  2020年01月23日星期三23:57:38春秋国旅
  
  (root@promote ~) # ssh-agent bash # #免交互代理
  (root@promote ~) # ssh-add # #添加
  为/root/.输入密码ssh/id_rsa: # #输入秘钥
  身份补充道:/root/.ssh/id_rsa (/root/. ssh/id_rsa)
  (root@promote ~) # ansible网络服务器- m命令——“日期”# #继续执行命令行模块实现免交互
  192.168.13.129 | |改变rc=0祝辞祝辞
  2020年01月23日星期三23:58:26春秋国旅
  
  (root@promote ~) # ansible mysql - m命令——“日期”
  192.168.13.130 | |改变rc=0祝辞祝辞
  2020年01月23日星期三23:58:39中科

自动化运维工具ansible——安装及模块管理