如何安装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}'"
相关推荐
csdn1342410 小时前
ansible
ansible
Linux运维技术栈3 天前
Ansible(自动化运维)环境搭建及ansible-vault加密配置
运维·自动化·ansible
花晓木3 天前
ansible安装文档
ansible
vvw&4 天前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
☆凡尘清心☆5 天前
CentOS-stream-9安装ansible
linux·centos·ansible
墨水\\5 天前
Ansible---playbook剧本
ansible
墨水\\6 天前
Ansible部署及基础模块
服务器·网络·ansible
七七powerful6 天前
ansible play-book玩法
linux·服务器·ansible
Karoku0667 天前
【自动化部署】Ansible循环
linux·运维·数据库·docker·容器·自动化·ansible
W u 小杰7 天前
Ansible基本用法
服务器·网络·ansible