ansible 教程,ansible菜鸟教程

文章目录一、环境构建二、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环境成功

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注