ansible的简单实验

实验背景:

Z公司为了提升工作效率,消除重复任务,更少的错误风险,要求尽量减少对现网服务器的改动,因此在目前主流的运维自动化工具 中选择Ansible来实现IT运维管理自动化。

实验环境:

ansible的简单实验

实验内容一

  1. 确认实验环境:

了解服务器和主机用的操作系统,以及各个设备的ip地址

设备

操作系统版本

Ip

与其他主机是否能ping’通

服务端

被管理端

  1. 安装ansible(在控制端用yum方式安装Ansible。)

CentOS (Yum)

第一步:新增 epel-release 第三方套件来源。

ansible的简单实验

第二步安装 Ansible。

ansible的简单实验

3. 安装python及ssh无密登录

第一步:在所有节点上安装yum、ssh、python:

控制节点:

ansible的简单实验

被控制节点:

ansible的简单实验

第二步:在控制节点上执行:ssh-keygen:

ansible的简单实验

第三步:在控制节点上执行:

ansible的简单实验

4. 修改配置文件ansible.cfg并配置被控制主机。

第一步:修改配置文件ansible.cfg

首先在管理节点上输入:

ansible的简单实验

输入之后,会看见这样一个界面:

ansible的简单实验

接着点击键盘上的i键进入insert模式,将下列图中标黄的文件编辑进去

ansible的简单实验

编辑完成之后保存并退出。

第二步:配置被控制主机

首先在管理节点上输入:

ansible的简单实验

输入之后会看见默认的ansible的host文件,如下图所示

ansible的简单实验

同样的还是输入 i,进入insert模式编辑以下文件

ansible的简单实验

因为只用了一台被控制节点,所以只输入一个被控制节点的ip地址即可

保存配置文件并退出。

结果验证:

通过输入

ansible的简单实验

来测试控制节点和被控制节点的连通性。

如图所示,如果出现正确的相应信息,success,则证明上述操作无误

ansible的简单实验

实验内容2 :通过ad-hoc命令批量管理服务器

任务一:测试各个远程主机组webservers连通性。

在进行完实验内容之后,通过输入命令来测试控制主机和被控制主机组之间的连通性,如果出现以下success内容,则证明实验环境良好,可继续下列实验。

ansible的简单实验

任务二:查看远程主机组webservers的网卡信息。

实验解析:首先需要在被控制主机上查看被控制主机的网卡名称是什么,有的机器网卡名称是eth0,有的则不是,如下图所示,被控制主机的网卡名为eno16777736

ansible的简单实验

那么当我们在控制主机上查看被控制主机的网卡信息时,一定要注意网卡的名称是否对应,

ansible的简单实验

图1

我们在控制主机上输入命令之后,就可以在控制主机上查看关于被控制主机的网卡信息,如图1所示。

任务三:执行远程主机脚本test.sh。

实验解析:在控制主机上远程控制被控制主机执行主机脚本,首先在被控制主机上有脚本,所以需要现在被控制主机上去创建脚本test.sh,如图2,图3所示,

ansible的简单实验

图2

创建脚本:

ansible的简单实验

图3

注意:/home/test.sh 脚本需要在远程主机上存在且有执行权限,如图4所示,修改权限。

ansible的简单实验

图4

在控制主机上通过输入命令来检查结果,如图5所示。

ansible的简单实验

图5

任务四:主控端向目标主机拷贝test1.sh文件到/tmp/目录下,并设置该文件所有者和所属组为root,文件权限为rwxr-xr-x。

实验解析:同样的,主控端向目标主机拷贝test1.sh文件,首先在主控端是有这个文件的,所以需要在主控端去创建这个文件test1.sh。在此不做介绍了,上面已经解析过了。

如图6所示

ansible的简单实验

可以到目标主机上看一下是否有test1.sh的文件产生,如图7所示,在目标主机上进入tmp目录中,查看目录下所有文件,可以发现test1.sh文件被成功建成。

ansible的简单实验

图7

任务五:查看远程主机组webservers /etc/sysctl.conf文件uid, gid信息,如图8所示

ansible的简单实验

图8

任务六:安装httpd到所有远程主机组webservers上。

如图9所示

ansible的简单实验

图9

任务七:开启远程主机组webservers http服务,并查看服务状态,首先启动服务,如图10所示

ansible的简单实验

图10

接着查看服务状态如图11所示

ansible的简单实验

图11

停止服务如图12所示

ansible的简单实验

图12

任务八:在远端服务器组webservers上创建/home/f1文件,并删除/home/f1。

首先创建/home/f1文件,如图13所示

ansible的简单实验

图13

在被控制主机上查看是否有/home/f1文件生成,在被控制主机上先进入home目录在查看目录文件有哪些,如图14所示ansible的简单实验

图14

接着删除/home/f1文件,如图15所示

ansible的简单实验

图15

结果检验:

在被控制主机上查看/home/f1是否还存在,如图16所示

ansible的简单实验

图16

实验内容三:playbook自动部署Nginx

任务一:完成playbook自动部署Nginx。

首先在控制端创建文件main.yml

ansible的简单实验

在这个文件里面输入一下内容,如下图所示

ansible的简单实验

保存并退出。

然后执行Playbook,如下图所示

ansible的简单实验

实验结果验证:

首先开启nginx,如下图所示

ansible的简单实验

接着查看nginx的服务状态,如下图所示,表示成功安装了nginx。

ansible的简单实验