如何安装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}'"
相关推荐
垚垚学技术_聚焦云原生11 天前
Ansible Vault 安全实践:敏感密码、密钥加密存储方案
安全·elasticsearch·ansible
广目软件13 天前
HA分布式架构采集节点变更操作手册20261029
运维·服务器·ansible·zabbix·prometheus
Moshow郑锴14 天前
Ansible 批量部署 Node.js 服务:ZIP 直解与共享目录分发两种方案对比
node.js·ansible
垚垚学技术_聚焦云原生14 天前
Ansible Playbook 进阶:when 条件、loop 循环、handlers 触发器落地
linux·ansible·自动化运维·devops
Moshow郑锴15 天前
GCP MIG 重建后 Ansible 初始化实战:PowerShell + NSSM 挂载 Windows 服务
windows·ansible
承渊政道17 天前
新增一台服务器时还要重新装Nginx?Ansible只改hosts目标列表,同一份Playbook继续执行
运维·nginx·ansible·内网穿透·cpolar
Helix25018 天前
Ansible混合环境自动化:Windows与Linux统一配置管理实战
windows·自动化·ansible·playbook·配置管理·winrm·混合环境
垚垚学技术_聚焦云原生19 天前
Ansible 变量体系详解:主机变量、组变量、全局变量优先级实战
ansible·自动化运维·devops·变量优先级
I'mChloe1 个月前
不再逐台装Docker:我用Ansible Playbook批量统一服务器环境
服务器·docker·ansible
筑梦之路1 个月前
Alibaba Cloud Linux 4 制作 Ansible RPM包实践(离线可复用)——筑梦之路
linux·运维·ansible