Ansible自动化运维 1-3 通过ansible接入控制另外两台主机
前言:前面两章都是将的一些比较基础的东西,建议先熟练前面两章并能够理解之后再进行之后的学习
这一章主要是做一个实操,通过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连接主机进行控制性测试
最后:别忘记释放实例
更多推荐
所有评论(0)