文章目录一、环境构建二、Ansible角色三、安装一、方法一二、方法二三、Ansible基本信息四、Ansible列表构建一、直接写入二、设置托管主机的指定用户三、设置托管主机的组1) Ansible配置文件参数详细信息1 .配置文件分类和优先级2 .通用配置参数6,创建用户级Ansible操作环境
一、环境建设
两台可通信的主机ansible和node1有完整的软件仓库。
主控机Ansible172.25.254.107控制机node1172.25.254.207二、Ansible的作用Ansible是一种新出现的自动化运输工具,基于Python开发,拥有多种运输工具例如
三、安装1、方法一epel源
在浏览器中搜索epel for linux,下载安装软件包并在本地安装即可。 我不推荐这个方法。 下载速度太慢了)
2、方法2直接下载镜像中不存在的依存性软件。 这意味着将两个安装软件包复制到本地目录中。
将文件复制到主计算机上ansible下的/mnt目录中;
确认下载是否完成
使用ansible版本验证是否成功安装了ansible版本的测试。
3、Ansible的基本信息意义/etc/ansible/ansible.conf全局配置文件,默认情况下很少修改/etc/ansible/hosts全局主机清单文件
四.建立Ansi蓝牙列表是由Ansi蓝牙管理的主机列表
其中/etc/ansible/hosts是全局清单文件
1、直接写控制主机名或ip,每行一个
如果未编写node1.westos.com172.25.254.207,则无法显示列表内容。 将显示一条消息,指示列表内容为空。
将托管主机ip添加到/etc/ansible/hosts清单文件的末尾,然后保存并退出;
再次显示列表内容,显示207主机,但无法ping
控制207主机时,首先在控制主机上生成py脚本,然后远程通过sshd服务传输到受控主机。 在文件传输过程中访问和管理需要后者的认证路径。 成功访问后,将显示与ping对应的kkdjzg。
2、设置受控主机的指定用户1),向受控主机添加用户
请设置新添加的用户的密码。 如果不设置密码,稍后设置密钥时会发生错误
2)、在控制主机上制作密钥和加密密钥
) 3、在控制主机上测试用户权限设置是否成功
207直接访问主机表示权限有问题,如果用户使用用户devops成功访问了用户,则表示可以使用控制主机管理以devops用户身份运行的207主机
4)、设置受控主机的用户权限,不密集访问
如果使用devops用户完成shell模块的内容,则失败。 这是因为当前在207主机上运行的命令必须以名为devops的普通用户身份运行,权限变小,并且必须在207管理主机下拥有权限
下放权限,避免秘密访问
完成shell模块命令
序列号的含义1指定devops在运行命令时在sudo调用2中查询是否成功创建了sudo密码文件
3、设置托管主机组1),列表显示ansible列表中的组名-I列表文件)– list-hostsansuibleungrouped—list-hostsansuibleungrouped—hostsansibled
) 2、单层列表各列表相互独立,无相互重复的ip或主机名
在[ list1] node1. west OS.com node2. west OS.com [ list2] node2. west OS.com [ list3] 172.25.254.240中,在指定组中的宿主
) 3、嵌套列表的主列表包括另一个子列表
[ west OS : children ] list1list 3
) 4、主机规格范围化操作通过指定主机名IP范围,可以简化Ansible主机列表
语法: [ start : end ] [ westostest ] 172.25.254.[ 1003360108 ] [根@ ansibleansible ] # ansiblewestostest– list-list :172.25.254.100172.25.254.101172.25.254.102172.254.103172
5)、其他清单文件vim inventory 172.25.254.240 [ westostest ] 172.25.25.254.200测试: ansible all –
i inventory –list-hostsansible westostest -i inventory –list-hostsansible ungrouped -i inventory –list-hosts
ansible命令指定清单的正则表达式
符号意义*所有:逻辑或:&逻辑与:!逻辑非~以关键字开头~str1str2)172.25.254.*westos*westos1:linux172.25.254.100:172.25.254.200westos1:&linux主机即在westos1清单也在linux清单中:! westos1:!linux在westos1中不在linux中
举例:vim /mnt/inventory172.25.0.250192.25.0.250[westos_list1]node1.westos.com[westos_list2]172.25.0.2172.25.0.1[westos_list3]172.25.0.1172.25.0.3[westos_all:children]westos_list2westos_list3 五、Ansible配置文件参数详解
ansible 清单中组名称 -m 模块 -u remote_user
1.配置文件的分类与优先级 /etc/ansible/ansible.cfg#基本配置文件,找不到其他配置文件此文件生效~/.ansible.cfg#用户当前目录中没有ansible.cfg此文件生效./ansible.cfg#优先级最高 2.常用配置参数 [default]##基本信息设定inventory=##指定清单路径remote_user=##在受管主机上登陆的用户名称,未指定使用当前用户ask_pass=##是否提示输入SSH密码,如果公钥登陆设定为falselibrary= ##库文件存放目录local_tmp=##本机临时命令执行目录remote_tmp=##远程主机临时py命令文件存放目录forks=##默认并发数量host_key_checking=##第一次连接受管主机时是否要输入yes建立host_keysudo_user=##默认sudo用户ask_sudo_pass=##每次在受控主机执行ansible命令时是否询问sudo密码module_name=##默认模块,默认使用command,可以修改为shelllog_path=##日志文件路径 六、构建用户级Ansible操作环境
1、创建操作目录并编写文件
本操作需要先切换到107主机的普通用户
2、复制ssh钥匙到当前用户
3、生成密钥和密匙分别为107主机和207主机
4、测试是否安装ansible环境成功