1在我的生产环境中有500台服务器,我必须在这些服务器上部署5个应用程序。 因此app1将在1-100服务器上运行,app2将在101-200上运行,依此类推。 我有以下问题 -
答案 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
或类似的东西。