一、Ansible安装
1.使用epel源
软件仓库配置好官方拓展的epel源后直接安装
dnf install ansible -y
ansible --viersion ##查看ansible的相关信息,可验证是否安装完成
2.用安装包进行安装
dnf install sshpass-1.06-9.el8.x86_64.rpm
dnf install ansible-2.9.11-1.el8.noarch.rpm ##可解决依赖性
ansible --viersion
二、Asnible使用
主机:
useradd devops
echo devops | passwd --stdin devops
visudo ##给devops下方所有权限,NOPASSWD 免去sudo的认证
devops ALL=(ALL) NOPASSWD: ALL
控制主机:
vim /etc/ansible/hosts
ansible all --list-hosts
ansible 172.25.254.250 -m ping -u devops -k
ansible 172.25.254.250 -m shell -a 'touch /mnt/file1' -u devops --become -K
ansible 172.25.254.233 -m shell -a 'rm -fr /mnt/file1' -u devops --become
三、ansible的主机清单
ansible主机只能操作主机清单里的主机
vim /etc/ansible/hosts
172.25.254.100 ##不属于任何组
[linux] ##linux组
172.25.254.233
172.25.254.133
westos_aa.westos.org ##需要有本地解析
[westos1]
192.168.1.[1:10]
[westos2]
172.25.254.71
192.168.1.71
[test:children]
westos1
westos2
ansible all --list ##所有
ansible 'westos1' --list
ansible 'test' --list
ansible 'westos*' --list ##包含westos
ansible ungrouped --list ##不属于任何组的主机
ansible '192*' --list
ansible 'linux:&westos*' --list ##且
ansible 'linux:192*' --list ##或
ansible 'westos1:!westos2' --list ##非
ansible '~172' --list ##以172开头
ansible '~(172|westos)' --list ##或
四、常用配置参数
[defaults] ##基本信息设定
inventory= ##指定清单路径
remote_user= ##在受管主机上登陆的用户名称,未指定使用当前用户
ask_pass= ##是否提示输入SSH密码,如果公钥登陆设定为false
library= ##库文件存放目录
local_tmp= ##本机临时命令执行目录
remote_tmp= ##远程主机临时py命令文件存放目录
forks= ##默认并发数量
host_key_checking= ##第一次连接受管主机时是否要输入yes建立host_key
sudo_user= ##默认sudo用户
ask_sudo_pass= ##每次在受控主机执行ansible命令时是否询问sudo密码
module_name= ##默认模块,默认使用command,可以修改为shell
log_path= ##日志文件路径
[privilege_escalation] ##身份信息设定
become= ##连接后是否自动切换用户
become_method= ##设定切换用户的方式,通常用sudo
become_user= ##在受管主机中切换到的用户,通常为root
become_ask_pass ##是否需要为become_method提示输入密码,默认为false