使用docker部署一個直接可用的puppet服務端

思路: 在一個docker環境,直接拉下來筆者的鏡像,直接啓動一個可用的容器即可. 此鏡像提供一個直接可用的 puppet服務端(foreman/activemq/mcollective-client);


說明: 此鏡像筆者已經上傳的靈雀雲上,詳細文檔可參考 本文筆者github 以及 靈雀雲鏡像 地址.


文件直接由筆者github的markdown直接複製如下:


######################################################


docker-foreman

Table of Contents

  1. 簡介

  2. 功能說明

  3. 使用說明

  4. 參數說明

  5. 其它說明

簡介

此鏡像目前主要用於提供一個可以直接拿來使用的foreman/puppet

功能說明

  • 此鏡像軟件包安裝部分,已經直接在基礎鏡像安裝完成(基於library/ubuntu:14.04.3手工安裝後commit)

  • 此鏡像僅在基礎鏡像之上做部分配置修改,使其可以方便的被複用

  • 此鏡像包含直接可用的foreman(目前作者主要用以管理puppet)

  • 此鏡像包含直接可用的puppet server(由foreman-installer依賴安裝)

  • 此鏡像包含直接可用的mcollective client,已經配置foreman開啓puppet run使用mcollecive

  • 此鏡像包含直接可用的activemq,配置直接puppetlab的activemq的模板文檔

  • 此鏡像版本號1.9.2.1中的1.9.2爲foreman官方版本,末位.1爲筆者構建的docker鏡像版本

使用說明

啓動一個容器提供puppet server服務,要求如下:

  1. 證書名/主機名配置爲: puppet.bw-y.com

  2. 配置Mcollective和ActiveMQ的密碼爲: StlJT1Qk6cO6D2Aq

  3. 配置Mcollective的psk密碼爲: lqtQ8Ci38HRSAXvY5fRVy7PZ

  4. 啓動ActiveMQ/apache2/foreman-proxy提供服務

  5. 將容器內的puppet配置目錄(/etc/puppet)映射到本地目錄: /opt/docker/puppet_conf

  6. 將容器內的puppet證書目錄(/var/lib/puppet/ssl)映射到本地目錄: /opt/docker/puppet_ssl

  7. 將容器內的foreman數據庫目錄(/var/lib/postgresql/9.3/main)映射到本地目錄:/opt/docker/foreman_db

  8. 將容器內的下列端口(80/443/8140/8443/61613)映射到宿主機的對應端口: 80/443/8140/8443/61613

根據上述要求,命令如下

docker run -itd --name=puppet --hostname=puppet.bw-y.com -e MCO_PASS=StlJT1Qk6cO6D2Aq -e PSK_PASS=lqtQ8Ci38HRSAXvY5fRVy7PZ -v /opt/docker/puppet_conf:/etc/puppet -v /opt/docker/puppet_ssl:/var/lib/puppet/ssl -v /opt/docker/foreman_db:/var/lib/postgresql/9.3/main -p 80:80 -p 443:443 -p 8140:8140 -p 8443:8443 -p 61613:61613 index.alauda.cn/hypersroot/foreman:1.9.2.1

參數說明

--hostname

[必選項] 由於puppet/foreman需要依賴一個可以解析的主機名用以配置證書相關,因此,在啓動docker時,此參數務必加上,此參數會將配置的域名自動解析到容器對應的ip. 默認值: 空

MCO_HOST

[可選項] 用於在Mcollective的(/etc/mcollective/client.cfg)中設置MQ的地址. 當此地址不等於127.0.0.1或localhost時,容器不啓動ActiveMQ. 默認值: 127.0.0.1

MCO_PORT

[可選項] 用於在Mcollective的(/etc/mcollective/client.cfg)中設置MQ的端口. 默認值: 61613

MCO_PASS

[可選項] 用於在Mcollective的客戶配置(/etc/mcollective/client.cfg)和ActiveMQ的Server端配置(/etc/activemq/activemq.xml)所配置的密碼. 默認值: mcopassword

PSK_PASS

[可選項] 用於在Mcollective的(/etc/mcollective/client.cfg)中設置plugin.psk的密碼字段. 默認值: mcopskstr

其它說明

  • foreman頁面的默認登陸信息: admin/bw-y.com

  • 首次啓動時,由於主機名的關係,證書和相關配置需要重新生成,此時,容器雖已經啓動,但相關服務並未配置完成; 主要時間開銷在於首次啓動容器時,根據參數重置配置的操作,筆者使用了腳本修改了部分配置後,重新執行foreman-installer導致,因此,首次完全啓動成功,可能需要2分鐘左右,具體的執行進度,可直接使用命令進入容器docker exec -it [container_name] bash後使用ps aux或top命令,查看foreman-installer在內存中是否已經執行完成即可. 再次使用時,由於puppet配置和foreman的數據庫配置文件均已存在,則會非常迅速. 腳本見: entrypoint.sh


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章