ehef做部署
Chef是Opscode開發(fā)的基于Ruby的部署系統(tǒng)。
使用Chef非常容易,為了好玩,我們可以在Docker容器中運行,這樣我們的實驗不會污染宿主機(jī)的環(huán)境:
我們需要curl命令來下載chef的安裝器:
Chef的安裝器是用Chef團(tuán)隊開發(fā)的一個名為omnibus的工具開發(fā)而成的。在這里我們的目的是嘗試叫作chef-solo的Chef工具。用下面的方式驗證工具安裝完成:
chef-solo -v
輸出如下:
chef:12.5.1
這里使用chef-solo的原因是為了能在脫離配置管理系統(tǒng)基礎(chǔ)架構(gòu)的前提下運行配置腳本,比如客戶端/服務(wù)器設(shè)置。這樣的測試環(huán)境在使用配置管理系統(tǒng)時通常比較有用,因為在開發(fā)即將部署的配置時,很難讓所有的東西有序工作。
Chef有自己推薦的文件結(jié)構(gòu),可以從Github上下載到一個預(yù)置的結(jié)構(gòu)。可以用下面的命令下載和提取:
現(xiàn)在你就有了一個適用于Chef bookbook的文件結(jié)構(gòu),像下面這樣:
/cookbooks
/cookbooks/README .md
/data_bags
/data_bags/README .md
/environments
/environments/README .md
/README . md
/LICENSE
/role s
/roles/README.md
/chefignore
為了讓一切都順利工作,你還需要進(jìn)一步告訴chef在什么地方能找到它的cookbook
現(xiàn)在我們可以用knife工具為配置創(chuàng)建一個模板,如下所示
knifecoobooreate ppapp