如何安装ansible

ansible安装

1、 准备环境----关闭防护墙和selinux
一般用ansible不会少于10台以上
环境:
主机:4台  一个控制节点 3个被控制节点
解析:本地互相解析(所有机器)
# vim /etc/hosts
192.168.1.10 ansible-web1
192.168.1.11   ansible-web2
192.168.1.12  ansible-web3
192.168.1.9   ansible-server  (控制节点服务器端)
配置ssh公钥认证:控制节点需要发送ssh公钥给所有非被控制节点
[root@ansible-server ~]# ssh-keygen
[root@ansible-server ~]# ssh-copy-id -i 192.168.1.10  #所有机器
2、安装
安装:控制节点
 1. 配置EPEL网络yum源
 [root@ansible-server ~]# yum install -y epel*
 2. 安装ansible
 [root@ansible-server ~]# yum install -y ansible
 3.查看版本
 [root@ansiable-server ~]# ansible --version
ansible 2.9.27
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.5 (default, Oct 14 2020, 14:45:30) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)]
 4.看帮助
 [root@ansible-server ~]# ansible --help
 
 5取消信任
 cat /dev/null > authorized_keys
3、ansible基础----inventory主机清单

官方文档: http://docs.ansible.com/ansible/intro_inventory.html#\>

cd /etc/ansible/
配置文件
vim ansible.cfg


查看配置文件:
[root@ansible-server ~]# rpm  -qc ansible
/etc/ansible/ansible.cfg
/etc/ansible/hosts
-q:---query查询
1.主配置文件:
/etc/ansible/ansible.cfg  #主要设置一些ansible初始化的信息,比如日志存放路径、模块、插件等配置信息
2.主机清单文件:
默认位置/etc/ansible/hosts
操作步骤
vim /etc/ansible/hosts

[webservers]
192.168.171.18
192.168.171.19

[dbservers]
192.168.171.18
192.168.171.19

[db37]
192.168.171.18

[db38]
192.168.171.19

192.168.171.17自已信任自已
cat id_rsa.pub > authorized_keys
4、测试
语法:
# ansible  <pattern>   -m <module_name>   -a <arguments>
pattern--主机清单里定义的主机组名,主机名,IP,别名等,all表示所有的主机,支持通配符,正则
-m module_name: 模块名称,默认为command模块
-a arguments: 传递给模块的参数
-o  横着显示(单行显示)

##执行这条命名首先ssh信任要建立好
[root@ansible-web1 ansible]#ansible webservers -m ping -o

[root@ansible-web1 ansible]# ansible db37,db38 -m ping -o
也可以这样执行
[root@ansible-web1 ansible]# ansible 192.168.171.18 -m ping -o

vim /etc/ansible/hosts
[webservers:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_host=192.168.171.18
会报错
ansible vars -m ping -o

查看组内主机列表:
语法:ansible  组名  --list-hosts
ansible  webservers --list-hosts
(查看的结果)
  hosts (2):
    192.168.171.18
    192.168.171.19
    
    
ansible就是远程批量执行指令的功能(远程执行,远程管理)
Ad-Hoc   
执行shell命令:
//在webservers1 远程执行了uptime 在把结果返回回来
[root@ansible-server ~]# ansible webservers1 -m shell -a 'uptime'

//远程添加账号
ansible webservers -m shell -a 'useradd tom'
//查看tom是否存在
ansible webservers -a 'grep tom /etc/passwd'

//查看对方的磁盘空间
ansible webservers -m shell -a "free -h | awk 'NR==2{print \$2,\$3}'"
相关推荐
紫晓宁2 天前
jmeter结合ansible分布式压测--3压测执行
分布式·jmeter·ansible
紫晓宁3 天前
jmeter结合ansible分布式压测--1数据准备
分布式·jmeter·ansible
紫晓宁3 天前
jmeter结合ansible分布式压测--2jmter环境准备
分布式·jmeter·ansible
SG.xf6 天前
ansible中的任务执行控制
ansible
赶紧回家去9 天前
Ansible基本使用
运维·ansible
我就是全世界10 天前
ansible详细介绍和具体步骤
ansible
福大大架构师每日一题10 天前
27.9 调用go-ansible执行playbook拷贝json文件重载采集器
golang·json·ansible·prometheus
SG.xf10 天前
Ansible
运维·ansible
避凉闲庭10 天前
ansible开局配置-openEuler
linux·运维·ansible·脚本·openeuler·免密登录·批量化
运维小白。。12 天前
Ansible 批量部署
ansible