尝试执行Ansible命令在Web和数据库环境上,作为Ansible入门的第二部分

由于前一次,我们已经通过使用Vagrant创建虚拟环境和安装Ansible完成了,所以这一次让我们使用Ansible命令来验证是否能够向web和db发送ping命令。

顺便提一下,上一篇文章可以在这里找到。

image.png

尝试运行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安装到网页上。

广告
将在 10 秒后关闭
bannerAds