Ansible-Inventory【主机清单配置】

1、Inventory是什么

Inventory 文件主要用来填写被管理主机以及主机组信息;(逻辑上定义);
默认 Inventory 文件为 /etc/ansible/hosts ;
当然也可以自定义一个文件,当执行 ansible 命令时使用 -i 选项指定 Inventory文件位置;

2、Inventory-连接方式

2.1、Inventory-密码连接方式

2.1.1、指定主机IP、端口,指定主机用户名、密码

~]# vi /etc/ansible/ansible.cfg
...
host_key_checking = False
...

~]# vi /etc/ansible/hosts 
# 详细清单文件
[webservers]
192.168.10.4 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='root1234'
192.168.10.8 ansible_ssh_port=22 ansible_ssh_user=root ansible_ssh_pass='root1234'

# 通过域名的简写方式
[webservers]
web[1:2].example.com ansible_ssh_pass='root1234'

2.1.2、Inventory-通过变量方式定义密码

~]# vi /etc/ansible/hosts
[webservers]
192.168.10.4
192.168.10.8

[webservers:vars]
ansible_ssh_port=22
ansible_ssh_user=root
ansible_ssh_pass=root1234

2.2、Inventory-免密码连接方式

2.2.1、ssh设置免密登陆

2.2.2、无人值守自行推送公钥

ssh-keygen -t rsa -C test@qq.com -f ~/.ssh/id_rsa -P ""
yum install sshpass -y
sshpass -proot1234 ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.10.4
sshpass -proot1234 ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no root@192.168.10.8

2.2.3、配置 inventory 主机清单

~]# vi /etc/ansible/hosts
[webservers]
192.168.10.4
192.168.10.8

3、使用普通用户管理被控端【sudo】

3.1、场景说明

 ansible 使用 cyc 普通用户统一管理所有的被控端节点;

3.2、首先控制端、被控端,都需要有 cyc 用户

useradd cyc
echo "123456" | passwd --stdin cyc

3.3、将控制端 cyc 用户的公钥推送到被控端 cyc 用户下,使普通用户能进行免密码登录

su - cyc -c "ssh-keygen -t rsa -C cyc@qq.com -f /home/cyc/.ssh/id_rsa -P ''"
su - cyc -c "sshpass -p123456 ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no cyc@192.168.10.4"
su - cyc -c "sshpass -p123456 ssh-copy-id -i ~/.ssh/id_rsa.pub -o StrictHostKeyChecking=no cyc@192.168.10.8"

3.4、所有主机的 cyc 用户都必须添加 sudo 权限

]# visudo
cyc ALL=(ALL) NOPASSWD: ALL

3.5、修改控制端 /etc/ansible/ansible.cfg 主配置文件,配置普通用户提权

~]# vi /etc/ansible/ansible.cfg 
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False

3.6、测试

3.6.1、使用cyc用户访问root家目录

~]# su - cyc -c "ansible webservers -m shell -a 'ls -l /root'"
192.168.10.8 | CHANGED | rc=0 >>
total 0
-rw-r--r-- 1 root root 0 May 11 19:39 test
192.168.10.4 | CHANGED | rc=0 >>
total 0
-rw-r--r-- 1 root root 0 May 11 19:39 test

 

posted @ 2023-05-11 19:42  小粉优化大师  阅读(95)  评论(0编辑  收藏  举报