2015-09-04 64 views
0

我需要你的幫助,以瞭解以下要求更好的實現方法:木偶配置需要幫助

  1. 假設我的傀儡主服務器名稱是:server.example.com,我需要在500木偶更新代理節點聯繫木偶主服務器。一種方法是在所有代理節點上的puppet.conf中添加server = server.example.com,另一種方法是在所有代理節點上運行命令「puppet agent --test --server server.example.com」。但是這需要手動執行或需要執行某種自動化。有更好的方法嗎?

  2. 第二種選擇是我可以在木偶主服務器上創建名稱爲「木偶」的CNAME,以便所有代理節點自動與木偶主人進行通信。但是,如果我在同一個域中擁有多個puppet master而不是我可以管理它?

我將非常感謝,如果有人能夠點亮最佳實踐來實現這一目標。

感謝, 桑吉夫

回答

0

最好的做法是通過添加server=server.example.com這是主人的地址,以充分利用傀儡自動化。由於您正在處理500個節點,因此不鼓勵使用手動方法。

默認情況下,木偶代理每30分鐘與主人通信。但在某些情況下,如果您想在這個默認時間段內強制木偶代理與主人通信,請使用並行ssh或類似工具調用puppet agent --test

如果您正在考慮多個木偶大師,那麼您需要確保DNS或者代理服務器在網絡中正確配置並且在給定的時間點指向右側的木偶主人。

這可能是有益的:https://docs.puppetlabs.com/guides/scaling_multiple_masters.html

+0

謝謝Avinash。同意手動方式不是首選。我只需要了解我們如何在500代理的puppet.conf文件中添加server = server.example.com。我相信我們需要以其他方式實現自動化。我認爲傀儡在這裏沒有幫助,因爲代理人還沒有意識到傀儡主主機名或FQDN名稱。第二種方法是我在每個代理節點上運行「puppet agent --test --server server.example.com」。但是這也需要某種自動化。我只需要檢查一下,如果我們可以使用puppet本身來做某些事情,而不是通過其他方式實現自動化。 – sanjiv

+0

一般而言,puppet在基礎架構設置期間進行配置。即在加載操作系統後使用後安裝腳本。如果最初沒有加載,那麼應該有一些工具可以幫助管理你的集羣,就像並行的ssh,它並行地對一組機器執行ssh。您應該檢查現有環境,並將代理配置推送到所需的位置。 – Avinash

0

您可以在客戶端的puppet.conf爲模板,其中服務器可以採取一個變量,木偶或hiera閱讀它。服務器名稱將在代理下次運行木偶期間傳播給您的客戶。

+0

它真的有用嗎?我的意思是,在模板方法的情況下,傀儡代理如何在傀儡運行中識別傀儡主名稱。 – sanjiv

+0

@sanjiv它會工作,如果你有所有500個節點已puppetized,你只是更新服務器名稱。您正在更新的新舊傀儡服務器應與包含客戶端配置模板的模塊同步。如果你沒有500個節點已經木偶化,或者如果這是你第一次計劃運行木偶,是的,你需要用更新的puppet.conf手動啓動木偶運行。我會使用ansible在所有500個節點上分批運行木偶。 --server參數不能確保在客戶端配置中爲後續運行更新服務器名稱。 – shailendhran

+0

謝謝。這是我需要檢查的。我第一次運行它。 – sanjiv