Knife มีส่วนเสริมในการจัดการ virtual machine บน Microsoft Azure ด้วยคือ knife-azure สามารถจัดการ life cycle ของ virtual machine ได้ สั่ง knife bootstap เพื่อลงทะเบียนกับ Chef Server ได้เลย มาลองใช้งานกัน

ติดตั้ง Knife Azure โดยใช้ ChefDK

chef gem install knife-azure

ดาวน์โหลด subscription file เพื่อใช้งานร่วมกับ knife azure plugin จากนั้นแก้ไข knife.rb เพิ่ม config เข้าไปดังนี้

knife[:azure_publish_settings_file] = "~/credentials.publishsettings"
knife[:azure_storage_account]="portal-storage-account"
knife[:azure_service_location] = "Southeast Asia"
knife[:ssh_user]="your-ssh-user"
knife[:identity_file]="~/.ssh/id_rsa"
knife[:azure_source_image] = "b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140606.1-en-us-30GB"

มาทดลองใช้งานกัน สั่งสร้าง vm กำหนดให้ใช้ role web

knife azure server create -r "role[web]" --ssh-password iydgUdoydgiupo* --tcp-endpoints 80:80,8080:8080,22:22

เมื่อ virtual machine เริ่มทำงาน Chef ก็จะติดตั้ง package ตาม role web ให้เรา

เมื่อติดตั้งเสร็จ ลองเปิด browser ดูก็จะได้หน้า default Apache2 ดังนี้

กลับไปดูที่ Azure Portal จะพบว่ามี virtual machine ที่ knife สร้างให้

ดูที่ Chef Server ก็ลงทะเบียน node ให้เรียบร้อยแล้ว

Comments are closed.