2017-01-29 96 views
3

1在我的生產環境中有500個服務器,我必須在這些服務器上部署5個應用程序。 因此,app1將繼續使用1-100臺服務器,app2將繼續使用101-200,等等。 我有以下問題─與廚師引導多個節點

  1. 我怎麼能同時引導多個節點?
  2. 如何將我的第一個100臺服務器綁定到第一run_list和接下來的100至第二run_list等
+0

那些服務器已經在運行操作系統,或者您將通過PXE等從頭開始配置它們? – StephenKing

回答

1

簡單的方式是在bash加上knife bootstrap一些for循環。可能需要一段時間才能運行,但由於您只需要執行一次,所以可能沒問題。

for name in $(cat servers.txt | head -n 100); do knife bootstrap -N $name -r 'role[app1]' $name; done 
for name in $(cat servers.txt | tail -n +101 | head -n 100); do knife bootstrap -N $name -r 'role[app2]' $name; done 
for name in $(cat servers.txt | tail -n +201 | head -n 100); do knife bootstrap -N $name -r 'role[app3]' $name; done 
for name in $(cat servers.txt | tail -n +301 | head -n 100); do knife bootstrap -N $name -r 'role[app4]' $name; done 
for name in $(cat servers.txt | tail -n +401 | head -n 100); do knife bootstrap -N $name -r 'role[app5]' $name; done 

或類似的東西。

+0

感謝您的回覆。我對廚師金屬有點困惑。這是否也是爲了同樣的目的? – user6378152

+0

它現在被稱爲廚師提供,並且bootstrapping Chef是一項功能,但它期望通過雲服務創建服務器。我也不建議你再使用廚師配置,因爲這個項目有點停滯不前,Terraform也可以做這樣的事情,但如果這是一次性的話,它可能會過度殺傷。 – coderanger