#### foreman架構的引入2-安裝前環境準備
Foreman官網提供了每個版本非常完善的安裝步驟,無論是源碼安裝還是rpm包安裝都變得非常方便。而且Foreman通過puppet模塊對安裝步驟進行了封裝并提供了大量的安裝參數可以傳輸,相當的方便。不過由于其體系過大,代理很多軟件,安裝的軟件包超多,安裝過程也并非那么簡單。
以下是需要考慮的問題及解決方法
**特別說明:**接下來的所有的推薦說明、操作和測試都是基于目前最穩定版本1.5.3進行的,而1.6和1.7版本不太穩定,僅做安裝介紹。
關于Foreman1.5.3版本介紹及安裝方法可參考官網 [http://theforeman.org/manuals/1.5/index.html#Releasenotesfor1.5.3](http://theforeman.org/manuals/1.5/index.html#Releasenotesfor1.5.3)
### 操作系統的選型
Foreman官網yum倉庫只提供了el6和f19的rpm([http://yum.theforeman.org/](http://yum.theforeman.org/))包,Debian的deb包([http://deb.theforeman.org/](http://deb.theforeman.org/)),并未提供低版本或者其它系統的rpm包。還有源碼包的下載方式:`git clone https://github.com/theforeman/foreman.git -b 1.5-stable`所以,如果你考慮使用rpm包安裝,請使用以下系統及版本:
RHEL6.*
CentOS6.*
Fedora19
如果你考慮使用deb包安裝,請使用以下系統及版本
Debian Linux 7.0 (Wheezy)
Debian Linux 6.0 (Squeeze)
Ubuntu Linux 14.04 LTS (Trusty Tahr)
Ubuntu Linux 12.04 LTS (Precise Pangolin)
如果你并不打算使用以上系統,比如現在很多金融行業使用的SLES系統等,需要考慮使用源碼包安裝,源碼包安裝通過bundle命令完成,不過很難安裝,而且即使安裝好,接下來走的路還很艱辛。
### 安裝包準備
安裝Foreman依賴的包比較多,需要從以下三個網站獲取
**1、Foreman官網:**[ http://yum.theforeman.org/](http://yum.theforeman.org/)
**2、EPEL官網:**[http://fedoraproject.org/wiki/EPEL](http://fedoraproject.org/wiki/EPEL)
**3、PuppetLabs官網:**[http://yum.puppetlabs.com/](http://yum.puppetlabs.com/)
**4、RabbitMQ官網:**[http://www.rabbitmq.com/download.html](http://www.rabbitmq.com/download.html)
**思考:**以上四個官網安裝包那么多,如果能夠獲得到安裝Foreman的包呢?
如果你確實比較懶,可以去我的Github上下載 [https://github.com/kisspuppet/foreman-repo](https://github.com/kisspuppet/foreman-repo)
### 軟件包的選型如下:
- **puppet-server 3.6.2**
- **puppet 3.6.2**
- **facter 2.0.2**
- **mcollective 2.2.4**
- **rabbitmq-server 3.2.4**
- **foreman 1.5.3**
- **foreman-proxy 1.5.4**
### 操作系統配置注意事項
**1、操作系統版本必須是RHEL6版本以上,建議使用6.4或6.5。**
**2、主機名必須符合完全合格的FQDN名稱,其次必須小寫**(大寫名稱在安裝MySQL的時候會提示授權問題不能通過)eg. foreman.kisspuppet.com
**3、安裝之前,必須先安裝puppet客戶端,并且和puppetmaster進行簽名認證。**
**4、系統時間和puppetmaster端保持一致,防火墻、selinux記得關閉。**
- 序
- 第一章:Puppet基礎篇
- 編寫此系列文檔的目的
- 如何學習和使用Puppet
- 安裝Puppet前期的準備工作
- 安裝、配置并使用Puppet
- 如何建立master和agent之間的認證關系
- Puppet更新方式的選型
- 編寫第一個完整測試模塊puppet
- 編寫第二個完整測試模塊yum
- Puppetmaster多環境配置
- 自定義fact實現的四種方式介紹
- 第二章:Puppet擴展篇
- 自定義fact結合ENC(hirea)的應用實踐
- 如何使用虛擬資源解決puppet沖突問題
- 如何擴展master的SSL傳輸性能(apache)
- 如何擴展master的SSL傳輸性能(nginx)
- 通過多進程增強master的負載均衡能力(nginx+mongrel)
- 通過橫向擴展puppetmaster增加架構的靈活性
- puppet代碼與版本控制系統的結合
- Puppet dashboard的部署及測試
- 第三章:MCollective架構篇
- MCollecitve架構的引入
- MCollective+MQ架構的部署
- Puppet插件的部署及測試
- MCollective各種插件的部署及測試
- MCollective安全性設計
- MQ的安全性設計
- 多MQ下MCollective高可用部署
- 第四章:Foreman架構的引入
- Foreman作為自動化運維工具為什么會如此強大
- 安裝前環境準備
- 安裝Foreman1.5架構(all-in-one)
- 安裝Foreman1.6架構(foreman與puppetmaster分離)
- 安裝Foreman1.7架構(源碼,僅測試使用)
- 整合puppetmaster
- Foreman結合mcollective完成push動作
- Foreman結合puppetssh完成push動作
- Foreman的ENC環境與fact環境的對比
- hostgroup如何轉換為本地的fact
- 智能變量與puppet模塊參數化類的結合
- Foreman報告系統的使用
- Foreman-proxy如何做負載均衡
- Foreman上如何展現代碼及文件內容
- Foreman如何和虛擬化管理軟件結合
- 如何借助Foreman完成自動化部署操作系統(一)
- 如何借助Foreman完成自動化部署操作系統(二)
- Foreman CLI(Hammer)工具的使用
- Foreman目前的不足之處