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節點主機通訊

從上圖可以看到,在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節點主機通訊

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章