2017-01-29 19 views
3

У меня есть 500 серверов в моей производственной среде, и я должен развернуть 5 приложений на этих серверах. Итак, приложение 1 будет работать на 1-100 серверах, приложение2 будет работать на 101-200 и так далее. У меня есть следующие вопросы:Загрузочные муттированные узлы с шеф-поваром

  1. Как я могу загрузить несколько узлов одновременно?
  2. Как я свяжу первые 100 серверов к первому run_list и рядом 100 на второй run_list и т.д.
+0

Эти серверы уже работают с операционной системой или вы будете предоставлять их с нуля через PXE и ​​т. Д.? – StephenKing

ответ

1

Простой способ будет несколько 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 

Или что-то в этом роде.

+0

спасибо за ответ. Я немного смущен по поводу шеф-повара металла. это также с той же целью? – user6378152

+0

Теперь он известен как подготовка шеф-повара, а бутстрапинг Chef - это функция, но он ожидает создания серверов через облачную службу. Я также не рекомендую вам использовать шеф-повара больше, поскольку проект является своего рода застойным, Terraform также может делать такие вещи, но опять же, вероятно, это будет излишним, если это одноразовая вещь. – coderanger