Ansible实验遇到的一些问题

Ansible实验遇到的一些问题
Ansible是一种基于Python开发的自动化运维工具。可以实现批量系统配置,批量程序部署,批量运行命令等功能。
Ansible是基于模块来工作的,本身只是提供了一种框架,并不能完成批量的运维。
而其中的组件主要包括:
Connection plugins=连接插件,主要负责和被监控端实现通信。
Host inventory=主机目录,告诉ansible需要管理那些server,和server的分类和分组信息。
playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。
Modules:各种模块核心模块、command模块、自定义模块;

在安装完ansible的后,需要对其配置文件进行修改
这里,对配置文件defaults当中的一些内容做出解释

Ansible实验遇到的一些问题

可能会遇到的问题:

在用ansible对远程桌面组中的主机进行安装httpd服务时,
报错:“Repository not found”
解决方法:ansible webservers -m yum -a “name=httpd state=latest disable_gpg_check=yes enablerepo=epel” 上述指令,最后一个选项表示只启用epel.repo文件,而有些salve主机上/etc/yum.repos.d/目录下没有该文件,因此将指令改为ansible webservers -m yum -a "name=httpd state=latest disable_gpg_check=yes"即可。

还是在用ansible对远程桌面组中的主机进行安装httpd服务时,
报错:: “yum lockfile is held by another process”
解决方法:说明被占用了。这种情况需要在slave主机上执行命令rm -f /var/run/yum.pid即可。

顺便提一句,使用网络yum源,记得保证主机可以与外网互通。

Playbook可能会遇到的情况说明:
用Playbook安装Nginx服务,通过实验发现,在执行playbook的时候,安装任务不一定能够保证全部远程主机都完成安装。有部分主机可以完成,部分主机因为连接源超时而导致安装失败。
解决方法:多执行几次playbook,毕竟网络原因没办法。