in How-to

มาเล่น Juju กัน

Juju เป็นเครื่องมือสำหรับ Deploy Service หรือ Application บน Cloud Provider ใดๆ ก็ได้ ซึ่งตอนนี้รองรับทั้ง AWS, HP Cloud, OpenStack และ Azure นอกจากนี้ยังรองรับการทำงานบน MAAS (Metal as a Service) ด้วย Juju สามารถติดตั้ง Ubuntu, ติดตั้ง Software, Config Service ต่างๆ แถมด้วยการบริหารจัดการ Serice นั้นๆ ได้ด้วย เช่นการทำ Scaling เป็นต้น อาจจะเข้าใจยากไปหน่อยลองดูวิดีโอข้างล่างได้ครับ

วิธีการติดตั้ง หากไม่มี ssh key ก็สร้างขึ้นมาก่อนด้วยคำสั่ง
ssh-keygen -t rsa -b 2048
จากนั้นติดตั้ง Juju จาก PPA ดังนี้
sudo add-apt-repository ppa:juju/stable
sudo apt-get update && sudo apt-get install juju-core

เริ่มใช้งานกัน ผมยกตัวอย่างการ Deploy Application บน Amazon AWS ก็แล้วกันนะครับ ให้ Juju สร้าง config ไฟล์ขึ้นมาอัตโนมัติโดยใช้คำสั่ง
juju init -w
จากนั้นแก้ไฟล์ ~/.juju/environments.yaml แก้ตรง access-key และ secret-key นะครับ ทั้ง 2 ค่านี้จะอยู่ตรง AWS Account คลิกที่ “Security Credentials” และคลิกที่ “Access Credentials” เมื่อแก้ไขไฟล์ config แล้ว จะได้หน้าตาแบบนี้
default: amazon
environments:
## https://juju.ubuntu.com/get-started/amazon/
amazon:
type: ec2
admin-secret: 8a3125fcede733b8d0b44rwd73022c94
# globally unique S3 bucket name
control-bucket: juju-d9219e60d4dc09ed2c83650338dc3276
# override if your workstation is running a different series to which you are deploying
# default-series: precise
# region defaults to us-east-1, override if required
# region: us-east-1
# Usually set via the env variable AWS_ACCESS_KEY_ID, but can be specified here
access-key: YOUR-ACCESS-KEY
# Usually set via the env variable AWS_SECRET_ACCESS_KEY, but can be specified here
secret-key: YOUR-SECRET-KEY

หลังจากแก้ไขเรียบร้อยแล้วให้ลองทดสอบดู โดยใช้คำสั่ง
juju bootstrap
คำสั่งนี้จะไปสร้าง instance โดยใช้ ami ที่เป็น Ubuntu 12.04 LTS บน EC2 ให้อัตโนมัติ เขาจะสร้าง instance ที่ us-east-1 นะครับ ใครไม่ชอบก็เปลี่ยน zone ได้ เทคนิคง่ายถ้าอยากให้ Juju แสดงการทำงานในแต่ละคำสั่งให้ใส่ -v ต่อท้ายครับ สำหรับการตรวจสอบสถานะ ของ services ที่ run อยู่บน AWS ให้ใช้คำสั่ง
juju status
คำสั่งนี้จะรอนานสักหน่อยประมาณ 2-3 นาทีได้ คุณก็จะได้ข้อมูลของ instance ที่ deploy bootstrap ไป ทีนี้ลองมา deploy application กันบ้าง มาลอง deploy mediawiki กัน หรือใครอยากลอง deploy application อื่นๆ ให้เข้าไปดูที่ jujucharm.com ได้ครับ อ่ะ มาลอง deploy mediawiki กัน
juju deploy mediawiki juju deploy mysql
ถ้าคุณดู juju status ตอนนี้คุณจะได้ instance 3 อัน คือ bootstrap, wordpress และ mysql จากนั้นสั่ง add releation ระหว่าง mediawiki และ mysql ขั้นตอนนี้เป็นการ config mediawiki และ mysql
juju add-relation mysql:db mediawiki:db
จากนั้นสั่ง juju expose เพื่อตั้งค่า Security Group เพื่อกำหนด port ที่ต้องใช้งานและปิด port ที่ไม่จำเป็น
juju expose mediawiki
จากนั้นก็ดู public dns จาก juju status เท่านี้ก็ได้ mediawiki ใช้แล้ว
วิดีโอ Getting Start เผื่ออ่านแล้วไม่ค่อยเข้าใจ