使用docker部署一个直接可用的puppet服务端
思路: 在一個docker環境,直接拉下來筆者的鏡像,直接啟動一個可用的容器即可. 此鏡像提供一個直接可用的 puppet服務端(foreman/activemq/mcollective-client);
說明: 此鏡像筆者已經上傳的靈雀云上,詳細文檔可參考?本文 和 筆者github 以及 靈雀云鏡像 地址.
文件直接由筆者github的markdown直接復制如下:
######################################################
docker-foreman
Table of Contents
簡介
功能說明
使用說明
參數說明
其它說明
簡介
此鏡像目前主要用于提供一個可以直接拿來使用的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服務,要求如下:
證書名/主機名配置為: puppet.bw-y.com
配置Mcollective和ActiveMQ的密碼為: StlJT1Qk6cO6D2Aq
配置Mcollective的psk密碼為: lqtQ8Ci38HRSAXvY5fRVy7PZ
啟動ActiveMQ/apache2/foreman-proxy提供服務
將容器內的puppet配置目錄(/etc/puppet)映射到本地目錄:?/opt/docker/puppet_conf
將容器內的puppet證書目錄(/var/lib/puppet/ssl)映射到本地目錄:?/opt/docker/puppet_ssl
將容器內的foreman數據庫目錄(/var/lib/postgresql/9.3/main)映射到本地目錄:/opt/docker/foreman_db
將容器內的下列端口(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
轉載于:https://blog.51cto.com/mos1989/1699517
總結
以上是生活随笔為你收集整理的使用docker部署一个直接可用的puppet服务端的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Openssh学习笔记
- 下一篇: 10个不太为人所知的,但实用的PHP函数