尝试执行Ansible命令在Web和数据库环境上,作为Ansible入门的第二部分
由于前一次,我们已经通过使用Vagrant创建虚拟环境和安装Ansible完成了,所以这一次让我们使用Ansible命令来验证是否能够向web和db发送ping命令。
顺便提一下,上一篇文章可以在这里找到。

尝试运行ansible命令
想要执行ansible命令,需要一个叫做Inventory文件的东西。
Inventory文件是在执行ansible命令时默认要读取的文件,可以在这里写下web或db服务器的信息。
这是用于列举ansible操作目标系统的文件。
那么让我们立即开始创建Inventorty文件吧。
文件名可以任意取,但在这里我们将其命名为inventory。
[web]
192.168.43.52
[db]
192.168.43.53
只需要指定要操作的Web和数据库即可。
那么,让我们尝试执行Ansible命令吧。
[vagrant@host ~]$ ansible all -i inventory -m ping
首先,我们简单地解释一下命令的用法。
all というのは「webとdbどちらにも実行しますよ」という意味。webと指定すればwebだけに対して実行されます。
-i でinventoryファイルを指定します。ここではinventoryというファイル名ですね
-m は実行するモジュール(コマンド)を指定してやります。pingというモジュールにしてみました。接続を確認するコマンドですね。
下面是执行结果。
[vagrant@host ~]$ ansible all -i inventory -m ping
192.168.43.52 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.43.53 | SUCCESS => {
"changed": false,
"ping": "pong"
}
如果你能这样回来,那就成功了。Ansible命令已经成功执行了呢。
默认库存文件的配置
– 每次都要输入”i inventory”很麻烦对吧?为什么不把它写在Ansible的配置文件里呢?
[vagrant@host ~]$ vi ./ansible.cfg
[defaults]
hostfile = ./inventory
如果将它设置为默认值,它会自动调用inventory。
刚才的ansible命令也可以如下省略”-i inventory”部分。
[vagrant@host ~]$ ansible all -m ping
192.168.43.52 | SUCCESS => {
"changed": false,
"ping": "pong"
}
192.168.43.53 | SUCCESS => {
"changed": false,
"ping": "pong"
}
听起来不错呢。那么下次我们将撰写playbook,并将nginx安装到网页上。