Ubuntu
如何處理 Linux 發行版之間的 Puppet 版本差異
我們是一家小型 webdev 商店,正在調查在各種開發和生產伺服器上推出 Puppet。
puppetmaster 是一個帶有 Puppet 0.25.4 的 Ubuntu 10.04 伺服器,來自 Ubuntu 的 repo。一些 puppet 客戶端是帶有 puppet 0.25.4 的 Ubuntu,但其他一些基於 RedHat 或 Centos 並使用 EPEL 儲存庫,該儲存庫提供 puppet 0.25.5 軟體包。
這些較新的客戶端無法與“舊”puppetmaster 對話,因此我可以升級 master 或降級客戶端。但是我無法找到將客戶端降級到 0.25.4 的 rpm。建構自己的軟體包是一件我可以不做的苦差事,因為我是公司的單一系統管理員。
您如何在異構環境中處理不同的客戶端/伺服器版本?
我建議盡可能使用最新的馬厩
puppetmasterd
。當時間到來時,它將大大簡化升級客戶的過程。此類相對年輕且快速發展的項目通常會頻繁地為功能和錯誤修復生成次要版本,這可以證明是無價的。當然,您仍然應該認真閱讀每個 ChangeLog,以搶占升級期間可能影響您的環境的任何內容。打包自己的版本應該不會那麼困難,而且這是一項技能,在未來,你應該會發現它有足夠的價值,現在可以花時間掌握。我不得不為 Puppet 推出自己的預發布包來解決我之前遇到的錯誤。
不過,在這種特殊情況下,您可能會發現Debian 不穩定樹中的較新軟體包對您有用。或者,甚至還有一個最前沿的 PPA,如果你想,好吧,被砍掉。