Search code examples
amazon-web-serviceschef-infraknife

How to launch more than one instance using knife ec2


How launch more than one instance using knife ec2, also is there any need of delay between launching the instances.

While lauching multiple instance using knife ec2 can we attach different roles to different instances


Solution

  • Honestly, when it comes to knife ec2 or any of the cloud providers, I use a wrapper bash+tmux script around it.

    #!/bin/bash
    
    tmux new-session -s build -n build -d "echo 'start'"
    tmux new-window -t build -n backend
        tmux send-keys -t build:backend  "knife ec2 server create --server-name backend -N backend -E playpen -f 5 -I 9aa3b52b-1471-413f-8b2b-0fbc756491b4 -r 'role[base], recipe[ops::mysql_db_setup], ' -d ubuntu10.04-v4 --private-network" Enter
    tmux new-window -t build -n web01
    tmux send-keys -t build:web01 "knife ec2 server create --server-name web01 -N web01 -E playpen -f 5 -I 9aa3b52b-1471-413f-8b2b-0fbc756491b4 -r 'role[base],role[web]' -d ubuntu10.04-v4 --private-network" Enter
    tmux new-window -t build -n web02
    tmux send-keys -t build:web02 "knife ec2 server create --server-name web02 -N web02 -E playpen -f 5 -I 9aa3b52b-1471-413f-8b2b-0fbc756491b4 -r 'role[base],role[web]' -d ubuntu10.04-v4 --private-network" Enter
    tmux new-window -t build -n background01
    tmux send-keys -t build:background01 "knife ec2 server create --server-name background01 -N background01 -E playpen -f 2 -I 9aa3b52b-1471-413f-8b2b-0fbc756491b4 -r 'role[base],role[background]' -d ubuntu10.04-v4 --private-network" Enter
    
    tmux attach-session -t build
    tmux select-window -t build
    

    Or at least something to that effect.