我使用ansible(ansible 1.9.0.1)。ansible - 如何通過本地DNS服務器運行ansible-playbook來解析主機名
我正在運行ansible-playbook,使用它的主機名對目標/遠程機器執行一些操作。
我的庫存文件有一個主機名的條目即appserver01.newdomainname.com
當我運行ansible,劇本只是做一個簡單的(Hello World示例),它不能解決主機名。如果在清單文件中,我有x.x.x.x IP,那麼它的工作原理!
所以,好像在我的源機器的/etc/resolv.conf中的域名服務器或搜索不解決與遠程主機使用它的完全限定域名即appserver01.newdomainname.com
有什麼辦法我可以調用ansible-playbook並傳遞新的/本地DNS服務器,這樣人們可以首先從該DNS解析主機名(在清單文件中)(而不是從/etc/resolv.conf中讀取/解析它)。
PS:我無法將這個新的/本地DNS名稱服務器xx.xx.yy.zz添加到/etc/resolv.conf中。
我不認爲這是可能的,因爲我沒有在這個ssh中看到一個選項。除了在Ansible清單或'.ssh/config'中定義IP之外,我唯一能想到的就是一個ssh隧道('ProxyCommand')。如果您通過可解析目標主機的主機委託所有任務,則主機名不需要在本地解析。 – udondan
當你只是從你的主人'ssh appserver01.newdomainname.com',這是否工作? – Mxx
@Mxx no。因爲/etc/resolv.conf沒有名稱服務器條目來解析newdomain.com。我們也不想在每臺服務器上更新/ etc/hosts文件(我們將在其中運行安全操作手冊),而且我們每天都會不斷創建新的域(DEV團隊中的任何主體都可以創建mynewdomain.com或myname .com域,同時在VCloud中創建VM/Vapp)。如果我可以選擇安全/可操作的劇本來傳遞額外的DNS服務器,這樣如果生產/服務器無法解析您的域名,那麼它會非常有幫助,那麼我們將使用我們通過命令行傳遞的DNS服務器來解析它。 –