使用Chef引导多个节点

1我的生产环境中有500台服务器,我必须在这些服务器上部署5个应用程序.

因此app1将在1-100服务器上运行,app2将在101-200上运行,依此类推.

我有以下问题 –

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

最佳答案 简单的方法是在bash加刀引导程序中使用循环.可能需要一段时间才能运行,但由于你只需要这样做一次,它可能很好.

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

或类似的东西.

点赞