Ansible之controller与Node节点主机通讯

现在,我在controller主机上去ping其它node节点的主机,网络配置没问题的话,他们之间是可以正常通讯的,如下图:
Ansible之controller与Node节点主机通讯

但是,如果我用node节点主机的hostname来ping呢?
Ansible之controller与Node节点主机通讯
从上图可以看到,是不可以ping通的。原因是什么呢?我这些VM都是用的NAT模式,如下图所示:
Ansible之controller与Node节点主机通讯

再查看一下VMWare Workstation的NAT配置信息:
Ansible之controller与Node节点主机通讯

可以看到,我们的DNS设置是自动detect,我尝试ping了一下我的本地电脑,也是不通的,这大概也就说明了我本地电脑上设置的DNS是没有被VMWare Workstation detect到的。
Ansible之controller与Node节点主机通讯

所以现在只能先手动的,把node节点主机IP和hostname添加到controller主机的hosts文件里吧!
输入命令:vi /etc/hosts
然后做如下更改:
Ansible之controller与Node节点主机通讯
然后Esc退出编辑模式,输入:wq保存退出

让我们来试试这次可否用各节点的hostname来ping
Ansible之controller与Node节点主机通讯

从上图可以看到,我们已经可以用各个节点的hostname来ping了。

那现在我们ssh到node1上,输入命令:ssh root@node1
提示你要不要继续连接,输入yes,然后输入password,连接成功。

Ansible之controller与Node节点主机通讯

那我们来看看是否可以用各个主机的hostname来ping

Ansible之controller与Node节点主机通讯

扫描二维码关注公众号,回复: 6559812 查看本文章

从上图可以看到,在node1主机上,还是不可以用各个主机的hostname来ping的。为什么呢?因为在node1主机上,VM同样用的NAT网络配置,DNS还是auto detect,那我们来看看node1上的hosts文件:

Ansible之controller与Node节点主机通讯

看到了吧!很干净,就是系统默认的,那现在解决这个问题就要把刚才在controller主机上修改hosts的过程再来一遍,现在只有3台主机,目前手动改改还可以,但是如果100台呢,岂不是要搞死了啊!有没有其它好的方法,可以把controller主机上面的hosts文件copy到这3台主机上呢?

网上搜了一把,有一个命令可以将本地文件copy到远程主机上,那就是scp命令,输入scp,回车,有简单的使用说明,见下图:
Ansible之controller与Node节点主机通讯

那直接按最简单的格式来试一把吧,竟然可以,那另外2台也一起copy一下吧,显示都是100%,看来没什么问题。

Ansible之controller与Node节点主机通讯

那我们就登录到各个主机,查看一下,到底copy过去了没。先查node1
Ansible之controller与Node节点主机通讯
没毛病,成功copy过来了。那来ping一把其它主机,如下图,都可以ping通。

Ansible之controller与Node节点主机通讯
接着看node2,估计也没啥问题:
Ansible之controller与Node节点主机通讯
Ansible之controller与Node节点主机通讯
如上图,没毛病,而且可以ping通其它主机,最后来看看node3
Ansible之controller与Node节点主机通讯

在node3上,ping其它主机,通的
Ansible之controller与Node节点主机通讯

猜你喜欢

转载自blog.51cto.com/jiaszwx/2411670