使用Chef引导多个节点

时间:2017-01-29 05:28:17

标签: chef bootstrapping

1在我的生产环境中有500台服务器,我必须在这些服务器上部署5个应用程序。 因此app1将在1-100服务器上运行,app2将在101-200上运行,依此类推。 我有以下问题 -

  1. 如何同时引导多个节点?
  2. 如何将前100个服务器绑定到第一个run_list,然后将100个绑定到第二个run_list等。

1 个答案:

答案 0 :(得分:1)

简单的方法是使用bash加for中的一些knife bootstrap循环。可能需要一段时间才能运行,但由于你只需要这样做一次,它可能很好。

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

或类似的东西。