รู้จักกับ Openstack

Tag: 

Openstack ถือเป็นดาวรุ่งพุ่งแรงในโลกของ Cloud computing ในฝั่ง IAAS เลยทีเดียว เรียกว่าหันไปทางไหนในโลกของ Cloud ก็ต้องเห็น Openstack (เห็นกันจนเบื่อเลย) สิ่งที่ Openstack ทำ ก็คือทำตามหน้าที่ของ Cloud IAAS ครับ คือ เอาคอมหลายๆ เครื่องมาต่อกัน เพื่อให้บริการเป็น Cloud Infra ในการสร้างเครื่อง VM ขึ้นมาให้บริการ แบบเดียวกับ EC2 นั่นเอง

Openstack เป็นโครงการที่เกิดจากความร่วมมือของ Rackspace และ NASA โดยสัญญาอนุญาตของ Openstack เป็น Apache License 2.0 ก็คือเป็นโอเพนซอร์สนั่นเองครับ ชื่อรุ่นของ Openstack จะเรียงตามตัวอักษรเหมือนโครงการโอเพนซอร์สหลายๆ โครงการ โดยรุ่นปัจจุบันนี้อยู่ที่ตัวอักษร H ในชื่อ Havana

องค์ประกอบของ Openstack

การทำงานของ Openstack เกิดขึ้นจากองค์ประกอบหลายๆ ส่วน ที่เรียกว่า Openstack component โดยในรุ่น Havana ประกอบด้วย Component ดังนี้

  • Horizon: เป็น Dashboard ทำให้เราสามารถสั่งงาน Openstack ผ่านหน้าเว็บได้
  • Nova: ทำหน้าที่ควบคุม VM โดยจะใช้ Hypervisor เป็น VMWare, Hyper-V หรือ ตัวอื่นๆ ได้ แต่โดยทั่วไปจะใช้ KVM เพราะฟรีและมีใน Linux อยู่แล้ว
  • Neutron: ทำหน้าที่เป็น Virtual network เพื่อให้เราสามารถเข้าใช้งานเครื่อง VM ที่สร้างขึ้นมาได้ (ถ้าเราสร้างเครื่องคอมพิวเตอร์เสมือนที่ไม่ได้เสียบสายแลน เราก็เข้าใช้ไม่ได้ ดังนั้น Neutron เลยเข้ามารับหน้าที่นี้)
  • Swift: เป็น Object Storage ประมาณว่าเป็นไดเรคทอรี่ ที่สามารถเอาไป mount กับเครื่อง VM เพื่อให้เข้าถึงไฟล์ และใช้จัดเก็บไฟล์ได้
  • Cinder: เป็น Block storage คือ มันจะสร้างฮาร์ดดิสก์เสมือนเพื่อให้เราใช้ติดตั้ง OS ลงในเครื่อง VM ที่สร้างขึ้นมานั่นเองครับ
  • Keystone: เป็น Identity service ไว้ยืนยันว่าใครเป็นใคร มีสิทธิ์เข้าถึงไฟล์ไหน หรือ VM ไหนได้บ้าง (จริงๆ ทำเยอะกว่านี้ แต่คล้ายๆ แบบนี้แหล่ะ)
  • Glance: เป็นตัวจัดการ Image Service คือคอยจัดเก็บ ISO ที่เราจะเอาไปใช้ติดตั้งใน VM ครับ
  • Ceilometer: เป็น Monitoring service ไว้ดูว่าใครใช้งานอะไรมากน้อยแค่ไหน จะได้เก็บตังค์ถูก
  • Heat: เป็น Orchestration service อันนี้ยังไม่ได้ลองเล่นเลย ขอยังไม่พูดถึงครับ

แต่ละ Component ทำงานร่วมกันยังไง ดูภาพแล้วจะเข้าใจขึ้นครับ

hgAzw80

อยากลองทำไง

  • เอาแบบลองทำเอง ดูตาม Openstack manual
  • เอาแบบง่ายๆ ลอง Devstack หรือ RDO ครับ

ไว้ขยันแล้วจะมาเขียนเพิ่มในโอกาสหน้าครับ