如今,我在controller主機上去ping其它node節點的主機,網絡配置沒問題的話,他們之間是能夠正常通信的,以下圖:node
可是,若是我用node節點主機的hostname來ping呢?
從上圖能夠看到,是不能夠ping通的。緣由是什麼呢?我這些VM都是用的NAT模式,以下圖所示:網絡
再查看一下VMWare Workstation的NAT配置信息:ssh
能夠看到,咱們的DNS設置是自動detect,我嘗試ping了一下個人本地電腦,也是不通的,這大概也就說明了我本地電腦上設置的DNS是沒有被VMWare Workstation detect到的。ide
因此如今只能先手動的,把node節點主機IP和hostname添加到controller主機的hosts文件裏吧!
輸入命令:vi /etc/hosts
而後作以下更改:
而後Esc退出編輯模式,輸入:wq保存退出3d
讓咱們來試試此次能否用各節點的hostname來pingblog
從上圖能夠看到,咱們已經能夠用各個節點的hostname來ping了。it
那如今咱們ssh到node1上,輸入命令:ssh root@node1
提示你要不要繼續鏈接,輸入yes,而後輸入password,鏈接成功。io
那咱們來看看是否能夠用各個主機的hostname來pingclass
從上圖能夠看到,在node1主機上,仍是不能夠用各個主機的hostname來ping的。爲何呢?由於在node1主機上,VM一樣用的NAT網絡配置,DNS仍是auto detect,那咱們來看看node1上的hosts文件:登錄
看到了吧!很乾淨,就是系統默認的,那如今解決這個問題就要把剛纔在controller主機上修改hosts的過程再來一遍,如今只有3臺主機,目前手動改改還能夠,可是若是100臺呢,豈不是要搞死了啊!有沒有其它好的方法,能夠把controller主機上面的hosts文件copy到這3臺主機上呢?
網上搜了一把,有一個命令能夠將本地文件copy到遠程主機上,那就是scp命令,輸入scp,回車,有簡單的使用說明,見下圖:
那直接按最簡單的格式來試一把吧,居然能夠,那另外2臺也一塊兒copy一下吧,顯示都是100%,看來沒什麼問題。
那咱們就登陸到各個主機,查看一下,到底copy過去了沒。先查node1
沒毛病,成功copy過來了。那來ping一把其它主機,以下圖,均可以ping通。
接着看node2,估計也沒啥問題:
如上圖,沒毛病,並且能夠ping通其它主機,最後來看看node3
在node3上,ping其它主機,通的