1.Ansiable简介

1.ansible简介

  ansible是一种基于python开发的自动化运维工具,它只需要在服务端安装ansible,无需在每个客户端安装客户端程序,通过ssh的方式来进行客户端服务器的管理,基于模块来实现批量数据配置、批量设备部署以及批量命令执行。

2.ansible工作原理

  

  大致的工作原理就是ansible程序调用读取/etc/ansible/ansible.cfg(这个是取决于读取配置文件顺序)配置文件,获取主机列表清单hosts文件,获取所要处理的主机列表,然后查看playbooks,根据playbooks生成一个临时的脚本文件,然后将该脚本文件发送给所管理的主机,脚本文件在远程主机上执行完成后返回结果,然后删除本地临时文件。

3.ansible工作模式

  ansible分为两种工作模式:

  一是adhoc(点对点模式):此模式相当于对管理主机执行单个shell命令

  二是playbook(剧本模式):该模式应用较多,该模式是指将一系列任务整合形成一个剧本,以此来达成某种功能(比如部署某个服务,数据备份等)的目的。

  上述两种模式可类比于一个是用于执行单个shell命令,一个是shell脚本。

4.ansible安装

  ansible安装很简单,当配置了阿里镜像源之后,可以直接执行: yum -y install ansible 进行安装,然后也会自动安装ansible所需依赖包等。

  用yum安装之后,会在/etc/ansible/ 下面生成ansible配置文件:  

[root@db04 ansible]# cd /etc/ansible
[root@db04 ansible]# ls
ansible.cfg  hosts  roles

     这里可以看到生成了ansible.cfg配置文件(这个可以看做是配置模版)以及hosts 还有一个roles目录。

  通常配置ansible的话,我们一般会配置ansible机器到其它主机节点免密登录。

  1.首先配置一下/etc/hosts文件   这里要配置一下远程节点ip和域名

  2.然后执行如下命令

  ssh-keygen -f /root/.ssh/id_rsa -N ''

  for i in db01 db02 
  do
      ssh-copy-id $i
  done

5.ansible配置文件读取顺序

  • 首先检测ansible_config变量定义的配置文件
  • 其次检查当前目录下的./ansible.cfg文件
  • 再次检查当前用户家目录下~/ansible.cfg文件
  • 最后检查/etc/ansible/ansible.cfg文件 

6.ansible配置文件关键配置介绍

  6.1 ansible.cfg配置文件 

复制代码
nventory :管理的主机清单文件路径
library:ansible的模块存放的目录
remote_tmp:上述工作原理中提到的将脚本发送至对端的临时目录
local_tmp:上述工作原理中提到本地生成脚本存放的临时目录
forks:并发连接数,默认为5
sudo_user :命令执行用户
remote_port :访问管理主机的端口        
host_key_checking:设置是否检查SSH主机的密钥,默认为false
timeout :ssh连接被管理主机的超时时间
log_path:ansilbe日志文件路径
复制代码

  6.2 hosts配置文件 

复制代码
hosts配置文件是ansible管理的主机列表文件,里面记载着管理主机的ip、端口等信息
其有两种方式:
一是单个主机名或主机ip记录
二是将某一类主机分组记录,譬如数据库主句:
[dbserver]    
192.168.1.1
192.168.1.2
192.168.1.3
........
当需要对该类主机进行操作时,只要调用dbserver即可调用该分组内所有主机,且此处可支持通配符
复制代码

7.ansible常用的参数 

复制代码
ansible-doc -l :列出所有模块
ansible-doc -s <模块名> :查看模块的参数信息
ansible --version :查看ansible版本
ansible -v :输出详细详细;-vv:输出更详细的信息
ansible -m :指定调用的模块名称
ansible -a :调用模块的参数
ansilbe -c :测试命令执行结果,不实际执行
ansible -k :提示输入ssh的秘密,而不是基于ssh认证
ansible -u :指定执行命令的用户
ansilbe -i :指定访问的主机列表文件
ansilbe -f :指定并发进程数
复制代码

 

posted on   太白金星有点烦  阅读(415)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示