一、Ansible安装启用以及部署
在网络上搜索资源:eple for rhel8 wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm (这是我找到的一个资源) 从网页上下载资源过后,ls查看: ansible-2.9.24-1.el8.noarch.rpm 可以看到这个程序包。这个时候证明我们已经成功获得了eple源。接下来安装eple源: rpm -ivh eple-release-latest-8.norach.rpm 且查看/etc/yum.repo.d/,会看到好多以eple为首的文件: ansible就在epel的源里: dnf install sshpass-1.06-9.el8.x86_64.rpm dns install ansible-2.9.24-1.el8.norch.rpm 安装完成后我们可以以通过: ansible --version 指令来检查安装部署是否成功
二、ansible清单管理
ansible默认的清单文件是/etc/ansible/hosts 清单文件中如果没有某主机的信息,是无法对其进行管理的
1.Ansible中组的管理
这是一个清单文件: ##db-[99:101]-node.example.com [192] ######组的名称 172.25.254.237 westos_node1.westos.org ######组成员
[westos1] ######组的名称 172.25.254.[30:40] 192.168.0.1
[westos2] ######组的名称 172.25.254.38 westoslinux.westos.org
2.Ansible查看清单中的成员
ansible all -i westos --list
ansible ungrouped --list
ansible westos2 --list
ansible "192*" --list
ansible "192*:172*" --list
ansible "westos1:&westos2" --list
ansible 'westos1:!westos2' --list
ansible '~(172|192)' --list
三、Ansible配置文件参数详解
1.配置文件的分类与优先级
/etc/ansible/ansible.cfg #基本配置文件,找不到其他配置文件此文件生效 ~/.ansible.cfg #用户当前目录中没有ansible.cfg此文件生效 ./ansible.cfg #优先级最高
2.常用配置参数
#[default] ##基本信息设定 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
四、构建用户级Ansible操作环境
新建立一个用户:xyf 设置密码为:westos 。当切换用户到xyf时,发现xyf这个用户是无法完成ansibli的相关操作的。这个时候就需要我们给指定的用户xyf构建Ansible的操作环境了。 1.切换到xyf这个用户下 mkdir -p /home/xyf/ansible cd ~/ansible ##切换到工作环境中 scp root@172.25.254.137:/root/.ssh/id_rsa /home/xyf/ansible/ ##将之前建立的密钥复制到xyf的Ansible的工作环境中![在这里插入图片描述](https://img-blog.csdnimg.cn/b25ad3e926c14c80900cb66a2bd535c3.png#pic_center 2.完成第一步的操作后,在xyf用户的Ansible工作环境中,编写其自己的ansible配置文件。 vim ansible.cfg;
[defaults]
inventory = ~/ansible/inventory
host_key_checking = False
ask_pass = False
remote_user = devops
module_name = shell
[privilege_escalation]
become=True
become_method=sudo
become_user=root
become_ask_pass=False
并编写指定的清单inventory: [westos] 172.25.254.137 172.25.254.237
测试:ansible westos -m ping
|