ฉันจะปรับใช้คลาวด์ OpenStack ด้วย Juju ได้อย่างไร


15

ฉันต้องการทดลองใช้ระบบคลาวด์และเตรียมพร้อมสำหรับการปรับใช้ที่เป็นไปได้ 12.04 ฉันยุ่งกับ UEC นิดหน่อย แต่ก็มีเวลามากขึ้นในการหาสิ่งที่เป็นประโยชน์สำหรับไพรเมอร์สำหรับสแต็กใหม่ มีเอกสารทั่วไปเกี่ยวกับ Diablo แต่มีแนวโน้มว่าจะมีหลายชิ้นที่มีประโยชน์อยู่แล้วใน Ubuntu ที่คู่มือเฉพาะสามารถประหยัดเวลาได้

นอกจากนี้เท่าที่ฉันจะชอบงบประมาณของฉันไม่รวม $ 4-6k เพื่อรับกลุ่มเล็ก ๆ ที่ทำงานด้วยการสนับสนุน Canonical

คำตอบ:


17

การติดตั้ง OpenStack

หากคุณต้องการเริ่มต้นและวิ่งอย่างรวดเร็วไปที่นี่แทน:

คำตอบนี้ดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้ Juju กับ OpenStack

ขอบเขต

แพลตฟอร์ม OpenStack นั้นทรงพลังและใช้งานได้หลากหลาย เอกสารส่วนนี้เกี่ยวข้องกับการปรับใช้ระบบ "มาตรฐาน" ที่ใช้ระบบ OpenStack แต่ไม่ จำกัด เฉพาะส่วนประกอบ Canonical เช่น MAAS, Juju และ Ubuntu หากมีการกล่าวถึงวิธีการและซอฟต์แวร์อื่นที่เหมาะสม

สมมติฐาน

  1. การใช้ MAAS - ทำตามโครงสร้างเหล่านี้ก่อน
  2. การใช้ Juju
  3. การกำหนดค่าเครือข่ายท้องถิ่น - เอกสารนี้ถือว่าคุณมีการกำหนดค่าเครือข่ายท้องถิ่นที่เพียงพอรวมถึงส่วนต่อประสานที่แยกต่างหากสำหรับการเข้าถึงระบบคลาวด์ OpenStack เครือข่ายในอุดมคตินั้นถูกจัดวางใน [MAAS] [เอกสาร MAAS สำหรับ OpenStack]

วางแผนการติดตั้ง

ก่อนที่จะปรับใช้บริการใด ๆ เป็นประโยชน์อย่างมากที่จะนำทรัพยากรที่มีอยู่ไปใช้และวิธีการใช้งาน OpenStack ประกอบด้วยบริการที่เกี่ยวข้องกันหลายอย่าง (Nova, Swift, ฯลฯ ) ซึ่งแต่ละบริการมีความต้องการที่แตกต่างกันในแง่ของโฮสต์ ตัวอย่างเช่นบริการ Swift ซึ่งมีที่เก็บข้อมูลวัตถุมีความต้องการแตกต่างจากบริการ Nova ซึ่งมีทรัพยากรการคำนวณ

ข้อกำหนดขั้นต่ำสำหรับแต่ละบริการและข้อเสนอแนะถูกจัดทำไว้ในคู่มือการใช้งาน OpenStackอย่างเป็นทางการ

องค์ประกอบของโหนดแนะนำสำหรับการปรับใช้กับ OpenStack MAAS และ Juju คือโหนดทั้งหมดในระบบควรจะสามารถทำงานใด ๆของการบริการ นี่เป็นแนวปฏิบัติที่ดีที่สุดสำหรับความทนทานของระบบเนื่องจากโหนดทางกายภาพใด ๆ ควรล้มเหลวจึงสามารถนำ repurposed อื่นมาใช้แทน สิ่งนี้รวมถึงข้อกำหนดฮาร์ดแวร์อย่างชัดเจนเช่นอินเทอร์เฟซเครือข่ายพิเศษ

หากด้วยเหตุผลทางเศรษฐกิจหรือคุณเลือกที่จะใช้การกำหนดค่าฮาร์ดแวร์ที่แตกต่างกันคุณควรทราบว่าความสามารถในการเอาชนะความล้มเหลวของฮาร์ดแวร์จะลดลง นอกจากนี้ยังจะมีความจำเป็นเพื่อการใช้งานเป้าหมายที่เฉพาะเจาะจงไปยังต่อมน้ำ - ดูส่วนในเอกสาร MAAS เกี่ยวกับแท็ก

สร้างไฟล์กำหนดค่า OpenStack

เราจะใช้เครื่องราง Juju ในการปรับใช้ส่วนประกอบต่างๆของ OpenStack ชาร์มแต่ละชิ้นนั้นรวมทุกอย่างที่จำเป็นในการตั้งค่าบริการเฉพาะ อย่างไรก็ตามบริการส่วนบุคคลมีตัวเลือกการกำหนดค่ามากมายซึ่งบางอย่างเราจะต้องการเปลี่ยน

เพื่อให้งานนี้ง่ายขึ้นและทำซ้ำได้มากขึ้นเราจะสร้างไฟล์การกำหนดค่าแยกต่างหากพร้อมตัวเลือกที่เกี่ยวข้องสำหรับบริการทั้งหมด สิ่งนี้เขียนในรูปแบบ YAML มาตรฐาน ( ดู www.yaml.org หากสิ่งนี้ไม่คุ้นเคยกับคุณ )

นี่คือตัวอย่างของ openstack-config.yaml:

keystone:
  admin-password: openstack
  debug: 'true'
  log-level: DEBUG
nova-cloud-controller:
  network-manager: 'Neutron'
  quantum-security-groups: 'yes'
  neutron-external-network: Public_Network
nova-compute:
  enable-live-migration: 'True'
  migration-auth-type: "none"
  virt-type: kvm
  #virt-type: lxc
  enable-resize: 'True'
quantum-gateway:
  ext-port: 'eth1'
  plugin: ovs
glance:
  ceph-osd-replication-count: 3
cinder:
  block-device: None
  ceph-osd-replication-count: 3
  overwrite: "true"
  glance-api-version: 2
ceph:
  fsid: a51ce9ea-35cd-4639-9b5e-668625d3c1d8
  monitor-secret: AQCk5+dR6NRDMRAAKUd3B8SdAD7jLJ5nbzxXXA==
  osd-devices: /dev/sdb
  osd-reformat: 'True'

สำหรับบริการทั้งหมดเราสามารถกำหนดค่าopenstack-originให้ชี้ไปที่แหล่งติดตั้ง ในกรณีนี้เราจะพึ่งพาค่าเริ่มต้นซึ่งจะชี้ไปที่แหล่งข้อมูลที่เกี่ยวข้องสำหรับ Ubuntu 14.04 LTS Trusty ที่วางจำหน่าย การกำหนดค่าเพิ่มเติมสำหรับแต่ละบริการอธิบายไว้ในเอกสารนี้

การกำหนดค่าอื่น ๆ

การตั้งค่าและตัวเลือกการกำหนดค่าอื่น ๆ นั้นเป็นไปได้สำหรับการปรับใช้บริการ OpenStack รายละเอียดเหล่านี้อยู่ในเอกสารของเครื่องรางแต่ละชิ้นที่ Juju ใช้และสามารถตรวจสอบได้โดยไปที่Juju Charm Store ออนไลน์และค้นหาเครื่องรางโดยใช้กล่องค้นหาที่ด้านซ้ายบนของหน้า การตั้งค่าการกำหนดค่าจะมีรายละเอียดภายใต้ "การกำหนดค่า" ในหน้าหลักดังแสดง:

ป้อนคำอธิบายรูปภาพที่นี่

การปรับใช้ OpenStack ด้วย Juju

ตอนนี้การกำหนดค่าได้ถูกกำหนดแล้วเราสามารถใช้ Juju เพื่อปรับใช้และเชื่อมโยงบริการต่างๆ

กำลังเริ่มต้น Juju

Juju ต้องการการตั้งค่าจำนวนน้อยที่สุด ที่นี่เราคิดว่ามันได้รับการกำหนดค่าให้ทำงานกับคลัสเตอร์ MAAS ของคุณ (ดู [คู่มือการติดตั้ง Juju] [juju_install] สำหรับข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้

ก่อนอื่นเราต้องดึงรูปภาพและเครื่องมือที่ Juju จะใช้:

juju sync-tools --debug

จากนั้นเราสามารถสร้างตัวอย่าง bootstrap:

juju bootstrap --upload-tools --debug

เราใช้สวิตช์เครื่องมืออัปโหลดเพื่อใช้เครื่องมือในรุ่นท้องถิ่นที่เราดึงข้อมูลมา สวิตช์ดีบักจะให้เอาต์พุต verbose ซึ่งมีประโยชน์ กระบวนการนี้อาจใช้เวลาสักครู่เนื่องจาก Juju กำลังสร้างอินสแตนซ์และติดตั้งเครื่องมือ เมื่อเสร็จแล้วคุณสามารถตรวจสอบสถานะของระบบด้วยคำสั่ง:

juju status

สิ่งนี้ควรส่งคืนสิ่งที่ชอบ:

environment: maas
machines:
  "0":
    agent-state: started
    agent-version: 1.18.1.1
    dns-name: localhost
    instance-id: localhost
    series: trusty

ปรับใช้ OpenStack Charms

หลังจากที่โหนด Juju bootstrap เปิดใช้งานแล้วเราสามารถปรับใช้บริการที่จำเป็นสำหรับการติดตั้ง OpenStack ของเรา ในการกำหนดค่าบริการเหล่านี้อย่างถูกต้องตามที่มีการใช้งานเราจะใช้ประโยชน์จากไฟล์กำหนดค่าที่เรากำหนดไว้ก่อนหน้านี้โดยผ่านมันไปพร้อมกับ--configสวิตช์พร้อมกับแต่ละคำสั่งการปรับใช้ ทดแทนในชื่อและพา ธ ของไฟล์กำหนดค่าของคุณหากแตกต่างกัน

มันมีประโยชน์ แต่ไม่จำเป็นต้องปรับใช้บริการตามลำดับด้านล่าง นอกจากนี้ยัง reccommended อย่างมากที่จะเปิดหน้าต่าง terminal juju debug-logเพิ่มเติมและเรียกใช้คำสั่ง นี่จะแสดงผลบันทึกของบริการทั้งหมดในขณะที่ทำงานและอาจมีประโยชน์สำหรับการแก้ไขปัญหา

ขอแนะนำให้เรียกใช้juju statusคำสั่งเป็นระยะเพื่อตรวจสอบว่าแต่ละบริการได้รับการติดตั้งและทำงานอย่างถูกต้อง Juju จะพยายามดึงเครื่องรางที่ดีที่สุดที่เป็นไปได้จาก Charm Store ออนไลน์โดยอัตโนมัติ หากคุณกำลังติดตั้งจากภายในเครือข่ายที่ จำกัด หรือปิดเป็นไปได้ที่จะดึงชุดทางลัดที่จำเป็นล่วงหน้า ดู [เอกสารประกอบสำหรับเครื่องรางออฟไลน์] [เครื่องรางออฟไลน์]

juju deploy --to=0 juju-gui
juju deploy rabbitmq-server
juju deploy mysql
juju deploy --config openstack-config.yaml openstack-dashboard
juju deploy --config openstack-config.yaml keystone
juju deploy --config openstack-config.yaml ceph -n 3 
juju deploy --config openstack-config.yaml nova-compute -n 3
juju deploy --config openstack-config.yaml quantum-gateway
juju deploy --config openstack-config.yaml cinder
juju deploy --config openstack-config.yaml nova-cloud-controller
juju deploy --config openstack-config.yaml glance
juju deploy --config openstack-config.yaml ceph-radosgw

เพิ่มความสัมพันธ์ระหว่างบริการ OpenStack

แม้ว่าจะมีการปรับใช้บริการเหล่านี้ แต่ยังไม่ได้เชื่อมต่อเข้าด้วยกัน แต่ละบริการมีอยู่ในปัจจุบัน เราใช้juju add-relation คำสั่งเพื่อให้พวกเขารับรู้ซึ่งกันและกันและตั้งค่าการเชื่อมต่อและโปรโตคอลที่เกี่ยวข้อง การกำหนดค่าพิเศษนี้ได้รับการดูแลโดยผู้มีเสน่ห์แต่ละคน

เราควรเริ่มเพิ่มความสัมพันธ์ระหว่างเครื่องรางโดยการตั้งค่าบริการการอนุญาต Keystone และฐานข้อมูลเนื่องจากการเชื่อมต่ออื่น ๆ จะต้องใช้สิ่งนี้:

juju add-relation keystone mysql

เรารอจนกว่าจะมีการตั้งค่าความสัมพันธ์ หลังจากเสร็จสิ้นให้ตรวจสอบด้วยสถานะ juju:

juju status mysql
juju status keystone

อาจใช้เวลาสักครู่ก่อนที่บริการนี้จะเสร็จสมบูรณ์ แม้ว่ามันจะเป็นไปได้ที่จะเพิ่มความสัมพันธ์อย่างต่อเนื่อง (Juju จัดการคิวสำหรับการกระทำที่ค้างอยู่) มันสามารถต่อต้านในแง่ของเวลาโดยรวมได้

ความสัมพันธ์ต่อไปนี้จำเป็นต้องทำเช่นกัน:

juju add-relation nova-cloud-controller mysql
juju add-relation nova-cloud-controller rabbitmq-server
juju add-relation nova-cloud-controller glance
juju add-relation nova-cloud-controller keystone
juju add-relation nova-compute mysql
juju add-relation nova-compute rabbitmq-server
juju add-relation nova-compute glance
juju add-relation nova-compute nova-cloud-controller
juju add-relation glance mysql
juju add-relation glance keystone
juju add-relation cinder keystone
juju add-relation cinder mysql
juju add-relation cinder rabbitmq-server
juju add-relation cinder nova-cloud-controller
juju add-relation openstack-dashboard keystone
juju add-relation swift-proxy swift-storage
juju add-relation swift-proxy keystone

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


ขอบคุณ URL insights.ubuntu.com/wp-content/uploads/UCD-latest.pdfดูเหมือนจะไม่ทำงาน
Breno Leitão

2

Ken Pepple มีหนังสือเกี่ยวกับการปรับใช้ OpenStack: http://shop.oreilly.com/product/0636920021674.do

บริษัท ของเคน (Internap) มีบริการการประมวลผลแบบคลาวด์ OpenStack เชิงพาณิชย์เป็นครั้งแรก

http://www.theregister.co.uk/2011/10/28/internap_openstack_cloud/

คลาวด์ของ Internap สร้างขึ้นบนแพลตฟอร์ม Xen Cloud (XCP) เป็นไฮเปอร์ไวเซอร์


0

การปรับใช้ RDO เป็นกระบวนการที่ง่ายและรวดเร็ว การตั้งค่าระบบคลาวด์ OpenStack ใช้เวลาประมาณ 15 นาทีและสามารถสั้นเพียง 3 ขั้นตอน http://openstack.redhat.com/Quickstart

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.