如何安装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 天前
自动化运维利器赋能信创:Ansible与SaltStack在国产系统的部署与批量管理实战
运维·自动化·ansible
tritone3 天前
使用阿贝云免费云服务器学习Ansible的实践与感受
服务器·学习·ansible
~黄夫人~5 天前
Ansible自动化运维:快速入门,从 “批量化执行” 开始
运维·自动化·ansible
~黄夫人~5 天前
Ansible 自动化运维:从 “手动输密码” 到 “一键免密管理”
linux·运维·自动化·ansible
王九思5 天前
Ansible 自动化运维介绍
运维·自动化·ansible
shawnyz6 天前
RHCSE--ansible1-入门和模块
linux·运维·ansible
AOwhisky7 天前
Ansible管理变量和事实(管理变量部分) & 部署文件到受管主机
前端·chrome·ansible
shawnyz7 天前
RHCSE--ansible2--剧本
linux·运维·服务器·ansible
何以不说话9 天前
记录一下学习日常⑨(ansible、Open-V、zabbix)
学习·ansible·zabbix
_叶小格_10 天前
ansible自动化入门基础
运维·笔记·学习·自动化·ansible