前言:前面两章都是将的一些比较基础的东西,建议先熟练前面两章并能够理解之后再进行之后的学习

这一章主要是做一个实操,通过ansible来对另外两台主机进行控制,本章节暂不涉及实际控制讲解,而是教大家如何去做这件事

以下为正式内容:

创建三台实例,具体详情操作可参照前面的内容,或点击下方链接

Ansible自动化运维 1-1 阿里云服务器部署及如何用xshell连接三台主机-CSDN博客

这里先做一下声明博主习惯使用CRT进行控制,对于新手而言xshell就足够了,只是软件界面不一样,但命令和反馈都是一样的

连接上之后先通过命令查看自己当前IP地址

ip a

确认当前IP地址后我们输入命令进入.ssh文件夹

cd .ssh

然后输入命令创建我们的密钥

ssh-keygen

输入完命令以后一直按回车,看到下面的小框框就证明创建成功

然后我们通过命令将公钥发送到另外两台主机

ssh-copy-id root@ip

因为这次我们没有提前通过ssh命令连接两台主机,这也就让另外两台主机不知道我们是谁,所以这里要输入“yes”,然后输入我们另外要通过ssh连接主机的密码

输入完成后我们就将公钥发送过去了,对另外两台主机都执行此操作

接着我们对我们需要用来对另外两台主机进行控制的主机安装ansible,输入以下命令:

yum -y install ansible

这里可以看到我们只用工具连接了一台主机,因为另外两台是我们控制的主机,所以创建了就可以,并不需要使用工具进行连接

当然你们的安装界面是跟我的不一样的,我这里是因为我取消了安装

安装完成后可以看到这个单词,就表示安装成功

现在我们就可以通过命令对另外两台主机进行控制,但因为我们需要的是批量化控制,而不是一对一,所以我们还得接着

被控制的两台主机的IP加入ansible里面

输入以下命令,进入vi编辑器中编辑ansible下的hosts文件内容

vi /etc/ansible/hosts

进入之后我们用键盘上的方向下键一直往下直到在空白处,然后按键盘上的“i”进入编辑界面

接下来我们给大家分别讲解三种进行控制的方式,每一种在实际中的用法都不一样

这里会讲解的比较详细一些,对小白比较友好

第一种:

我们先创建主机组必须是英文输入模式下的中括号“[name]”,里面的名字可以按你喜欢的起

但是注意两点:

1.只能为英文

2.不能以数字或下划线“_”作为开头

输入完主机组的名字后换行,然后在下方输入被控端的IP地址

但是注意:一行只能输入一个IP地址

如果有已经为其设置了别名的,这里也可以直接填入设置的别名

具体如何设置别名,请看前面的章节

输入完成后就像下面显示的一样

然后我们按ESC,输入“:wq”这个是保存并退出的意思

回到终端界面后,输入

ansible test -m ping

test就是我们刚设置的主机组

-m的意思是调用模块

ping是具体的模块名称

这个命令的意思是在ansible里调用模块工具“ping” test

可以看到我们同时ping了两台主机都显示“SUCCESS”,这就表示我们的ansible能够连接到这两台主机,到这里也就成功了

第二种:

还是先进入我们的vi编辑器

vi /etc/ansible/hosts

这种设置方法是在实际情况中,我们不同作用的服务器通常会规划为不同的种类,根据功能来划分

test1是第一类服务器

test2是第二类服务器

理论上test1和test2下可以放置无数台服务器IP地址,当我们想对其输入命令或者调试的时候就直接ping主机组就行,那如果我们需要对test1和test2同时进行操作的时候,一个一个去操作太麻烦

所以我们可以在这两个主机组的基础上再套一个主机组

也就是下方的[test:children]

之所以要特别标注“:children”是为了让ansible知道我们test组下的test1和test2是被我们套的基础主机组,否则再输入命令的时候ansible识别不到这个test下面的到底是主机组还是主机

就好比你知道有这个人,但你不知道这个人是谁,标注“:children”之后,ansible就知道有这个人也认识这个人是谁

当然在这一步之前,test1和test2两个主机组也要创建,不然一样不知道这个人是谁

接下来我们分别对三个主机组进行ping测试

ansible name -m ping

name替换为主机组

可以看到我们分别执行ping之后

test1出现了一个success

test2出现了一个success

test出现了两个success

分别对应我们刚刚设置的主机组中的内容就成功

第三种:

如果我们要对多个连续的服务器进行主机组的配置,比如十个,一百个,一个个手敲多麻烦

那这就延申出这第三种方法

同样进入vi编辑器,设置主机组

下方的IP,因为我目前只有两个,如果有十个那就把框起来的两位数字调整一下

这个设置的意思是多个前缀相同IP下,可以这样来进行批量设置,也能大大节省我们的时间

然后我们对其进行测试

可以看到已经成功

以下为错误示范

我们输入一个错误的IP

然后进行测试,可以看到我们输入错误的ip之后它输出的结果为“changed”颜色也都变成了红色,如果输出这种结果可以先检查IP是否错误,如果正确那就排查一下是否为其他错误

以上就是ansible控制性测试的三种方法,这一章不讲具体的控制,先对如何使用ansible连接主机进行控制性测试

最后:别忘记释放实例

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐