在客戶(hù)端執(zhí)行代碼
這里介紹的幾種配置管理系統(tǒng)允許你復(fù)用節(jié)點(diǎn)描述符,在匹配的節(jié)點(diǎn)上執(zhí)行代碼。有時(shí)候這樣很方便。例如,為了調(diào)試,你也許會(huì)想要在所有面向Internet的公網(wǎng)HTTP服務(wù)器上運(yùn)行列出目錄的命令。
Puppet的生態(tài)系統(tǒng)中,這個(gè)命令執(zhí)行系統(tǒng)被稱(chēng)為Marionette Collective,簡(jiǎn)稱(chēng)為MCollective。
有關(guān)練習(xí)的注意事項(xiàng)
嘗試使用Docker通過(guò)不同的部署系統(tǒng)來(lái)管理我們將要實(shí)驗(yàn)的基礎(chǔ)操作系統(tǒng)很容易。在特定的部署系統(tǒng)上開(kāi)發(fā)和調(diào)試部署代碼時(shí),這種方式比較節(jié)省時(shí)間。這些代碼之后可以用于部署物理機(jī)或虛擬機(jī)。
首先我們會(huì)在本地開(kāi)發(fā)方式上嘗試每個(gè)不同的部署系統(tǒng)。之后,通過(guò)將幾個(gè)容器組成一個(gè)虛擬集群去模擬完整的部署。
我們盡量使用Docker官方的鏡像,但是有時(shí)候會(huì)出現(xiàn)找不到或者官方鏡像消失的情況,像Ansible的官方鏡像一樣。這就是DevOps快速向前的生活,或好或壞。
需要注意的是,在模擬一個(gè)完整的操作系統(tǒng)時(shí)Docker有一些限制。有時(shí)候容器需要在高權(quán)限的模式下運(yùn)行。我們將會(huì)在碰到這個(gè)問(wèn)題時(shí)處理。
還有就是很多人會(huì)選擇Vagrant去做這些測(cè)試。如果可能我還是推薦使用Docker,因?yàn)樗虞p量、快速,在很多情況下都足夠使用。
請(qǐng)記住,在生產(chǎn)中實(shí)際部署的系統(tǒng)將需要更多關(guān)注于安全以及除上文的介紹以外的更多細(xì)節(jié)。】