การจัดการ และดูแล service ที่รันบน cloud สำหรับบางคนมีการใช้บริการมากกว่า 1 ที่ เช่น อาจจะใช้บริการกับ AWS สำหรับเว็บไซต์บริษัท และอาจใช้บริการของ Microsoft Azure ในทำเว็บให้ลูกค้า และในขณะเดียวกันอาจจะใช้บริการจาก Horizon HP Cloud สำหรับจัดการข้อมูล Big Data (ชีวิตมันจะซับซ้อนไปไหมนี่ ^^)

เหตุการณ์เหล่านี้มีโอกาสเป็นได้นะครับ เพราะฉะนั้นหากเราใช้งาน juju เพื่อเชื่อมต่อกับบริการที่ผมกล่าวมาข้างต้น แล้วจะสลับการทำงานบน environment เหล่านั้นอย่างไร

เรามาลองดูกันเลยแล้วกันนะครับ ว่าเราจะจัดการ environment ที่ถูกสร้างขึ้น เพื่อเชื่อมต่อกับผู้ให้บริการหลายๆ รายนี้อย่างไร

เริ่มต้นจากเราต้องรู้ก่อนว่าขณะนี้เรากำลังทำงานอยู่บน environment ใด ด้วยคำสั่ง

$ juju switch

ซึ่งจะแสดงให้เห็นว่าขณะนี้กำลัง active อยู่บน environment ใด

จากรูปด้านบนเห็นว่าขณะนี้กำลัง active อยู่บน environment ชื่อ local

หากเราต้องการสลับไปทำงานบน environment อื่น เราสามารถทำได้โดยรันคำสั่ง

$ juju switch <ชื่อ environment>

ตัวอย่างด้านล่าง ผมทดสอบสลับไปทำงานบน environment ชื่อ hpcloud

ถ้าลองตรวจสอบว่าขณะนี้อยู่ที่ environment ใดอีกครั้ง ก็จะพบว่า current environment ได้ถูกเปลี่ยนไปเรียบร้อยแล้ว จากคำสั่งด้านบน

ในการทำงานจริง ถ้าจะต้องใช้คำสั่ง switch ไปๆ มาๆ เพื่อทำงาน ชีวิตคงลำบากแน่ๆ วิธีการที่จะทำให้เราสามารถทำงานกับ environment นึง ขณะที่กำลัง active อยู่อีกอันนั้นทำได้โดยการใช้ option -e แล้วตามด้วยชื่อ environment

ตัวอย่างด้านล่างจะทำการ deploy service บน environment ชื่อ local ขณะที่กำลัง active อยู่บน environment ชื่อ hpcloud ด้วยคำสั่ง

$ juju deploy mysql -e local

และหากต้องการตรวจสอบสถานะของ environment ที่ชื่อ local เราก็สามารถใช้คำสั่งลักษณะนี้ได้เช่นกัน

$ juju status -e local

ซึ่งการใส่ option -e แล้วตามด้วยชื่อ environment จะทำให้เราสามารถจัดการ environment อื่นๆ ได้ง่ายขึ้นครับ

ปกติแล้ว juju จะทำงานกับ environment ที่กำหนดเป็นค่า default เป็นหลัก ซึ่งหากเราลองเข้าไปดูในไฟล์ environments.yaml จะพบว่ามีหัวข้อ default อยู่ ซึ่งจากตัวอย่างผมได้ระบุไว้เป็น hpcloud ตามรูปด้านล่าง

เราสามารถเปลี่ยน default ในส่วนนี้โดยการแก้ไขในไฟล์ environments.yaml ให้เป็น default environment ตามที่ต้องการ

อีกส่วนหนึ่งที่จะต้องทำความเข้าใจเกี่ยวกับการจัดการ environment นั้น คือการอ้างอิงกับเวอร์ชันของ juju และ default-series

โดยปกติแล้ว default-series จะขึ้นอยู่กับเวอร์ชันของ OS เช่น ถ้าเป็น Ubuntu 12.04 default-series ก็จะเป็น precise แต่ถ้าเป็น Ubuntu 14.04 default-series ก็จะเป็น trusty

เราสามารถตรวจสอบ default-series ของ juju ที่ใช้งานอยู่ได้ด้วยคำสั่ง

$ juju get-environment default-series

และถ้าต้องการกำหนด default-series ก็สามารถทำได้ ตัวอย่างจะทดลองกำหนด default-series เป็น trusty ด้วยคำสั่ง

$ juju set-environment default-series=trusty

แล้วใช้คำสั่งตรวจสอบ default-series อีกครั้ง จะได้ผลลัพธ์ตามรูปด้านล่าง

แต่หากต้องการล้างค่า หรือคืนที่กำหนดให้กับ default-series ในส่วนนี้ ทำได้โดยใช้คำสั่ง

$ juju unset-environment default-series

ซึ่งก็จะกลับมาสู่ค่าเริ่มต้นดังเดิมครับ

สุดท้ายหากเราต้องการให้อัปเกรดเวอร์ชันของ juju เป็นเวอร์ชัน เพื่อจะได้ไม่ต้องการกำหนด default-series เราสามารถทำได้โดยการใช้คำสั่ง

$ juju upgrade-juju

Comments are closed.