Knife มีส่วนเสริมในการจัดการ instance บน Amazon Web Service ด้วยคือ knife-ec2 ซึ่งสามารถจัดการได้ในเบื้องต้น ส่วนใหญ่เกี่ยวข้องกับ instance เป็นหลัก สามารถจัดการ life cycle ของ instance ได้ สั่ง knife bootstap เพื่อลงทะเบียนกับ Chef Server ได้เลย มาลองใช้งานกัน
เริ่มต้นจากติดตั้ง package ที่จำเป็นก่อนดังนี้
apt-get install make build-essential
จากนั้นติดตั้ง knife ec2 plugin โดยใช้ Chef Development Kit
chef gem install knife-ec2
แก้ knife.rb เพิ่ม AWS_ACCESS_KEY_ID และ AWS_SECRET_ACCESS_KEY ต่อท้ายไฟล์
knife[:aws_access_key_id] = ENV['AWS_ACCESS_KEY_ID'] knife[:aws_secret_access_key] = ENV['AWS_SECRET_ACCESS_KEY']
มาลองคำสั่งกัน คำสั่งที่ใช้คู่กันกับ AWS ได้มีอยู่ไม่กี่คำสั่ง เช่น flavor, instance, server เป็นต้น แต่ก็สามารถใช้งานในเบื้องต้นได้ ยกตัวอย่างการสร้าง instance จาก Knife สามารถกำหนด role พร้อมสั่ง bootstrap เพื่อ register node ไปยัง Chef Server ได้เลย
knife ec2 server create -r 'role[nginx]' -I ami-dbba9689 -f m1.small --ssh-key github --region ap-southeast-1 --bootstrap-protocol ssh --ssh-user ubuntu
หลังจาก start เสร็จก็ register ไปยัง Chef Server ด้วย
ในหน้า Console AWS