Menginstal OpenStack
Jika Anda ingin bangun dan berlari dengan cepat pergi ke sini:
Jawaban ini adalah tampilan yang lebih rinci tentang cara menggunakan Juju dengan OpenStack.
Cakupan
Platform OpenStack sangat kuat dan penggunaannya beragam. Bagian dokumentasi ini terutama berkaitan dengan penggunaan "standar" yang menjalankan sistem OpenStack menggunakan, tetapi tidak terbatas pada, komponen Canonical seperti MAAS, Juju dan Ubuntu. Apabila diperlukan, metode dan perangkat lunak lain akan disebutkan.
Asumsi
- Penggunaan MAAS - ikuti instruksi ini terlebih dahulu.
- Penggunaan Juju
- Konfigurasi jaringan lokal - Dokumen ini mengasumsikan bahwa Anda memiliki konfigurasi jaringan lokal yang memadai, termasuk antarmuka terpisah untuk akses ke cloud OpenStack. Jaringan ideal tercantum dalam [MAAS] [Dokumentasi MAAS untuk OpenStack].
Merencanakan instalasi
Sebelum menggunakan layanan apa pun, sangat berguna untuk mengambil stok dari sumber daya yang tersedia dan bagaimana mereka akan digunakan. OpenStack terdiri dari sejumlah layanan yang saling terkait (Nova, Swift, dll) yang masing-masing memiliki tuntutan berbeda dalam hal host. Sebagai contoh, layanan Swift, yang menyediakan penyimpanan objek, memiliki persyaratan yang berbeda dari layanan Nova, yang menyediakan sumber daya komputasi.
Persyaratan minimum untuk setiap layanan dan rekomendasi tercantum dalam Panduan Operasi OpenStack resmi
Komposisi node yang direkomendasikan untuk menggunakan OpenStack dengan MAAS dan Juju adalah bahwa semua node dalam sistem harus mampu menjalankan APAPUN layanan. Ini adalah praktik terbaik untuk ketahanan sistem, karena karena setiap simpul fisik harus gagal, yang lain dapat digunakan kembali untuk menggantikannya. Ini jelas meluas ke persyaratan perangkat keras apa pun seperti antarmuka jaringan tambahan.
Jika karena alasan ekonomi atau Anda memilih untuk menggunakan konfigurasi perangkat keras yang berbeda, Anda harus mencatat bahwa kemampuan Anda untuk mengatasi kegagalan perangkat keras akan berkurang. Ini juga akan perlu untuk menargetkan penyebaran ke node tertentu - lihat bagian dalam dokumentasi MAAS pada tag .
Buat file konfigurasi OpenStack
Kami akan menggunakan mantra Juju untuk menyebarkan bagian-bagian komponen OpenStack. Setiap pesona merangkum semua yang diperlukan untuk mengatur layanan tertentu. Namun, masing-masing layanan memiliki banyak opsi konfigurasi, beberapa di antaranya ingin kami ubah.
Untuk membuat tugas ini lebih mudah dan lebih dapat direproduksi, kami akan membuat file konfigurasi terpisah dengan opsi yang relevan untuk semua layanan. Ini ditulis dalam format YAML standar ( lihat www.yaml.org jika ini tidak Anda kenal ).
Berikut adalah contoh dari 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'
Untuk semua layanan, kita dapat mengonfigurasi openstack-origin
to point ke sumber pemasangan. Dalam hal ini, kami akan bergantung pada default, yang akan menunjuk ke sumber yang relevan untuk rilis Ubuntu 14.04 LTS Trusty. Konfigurasi lebih lanjut untuk setiap layanan dijelaskan dalam dokumen ini .
Konfigurasi lainnya
Opsi pengaturan dan konfigurasi lainnya dimungkinkan untuk penyebaran layanan OpenStack. Ini dirinci dalam dokumentasi pesona individu yang digunakan oleh Juju, dan dapat diperiksa dengan mengunjungi Toko Pesona Juju online dan mencari pesona menggunakan kotak pencarian di sisi kiri atas halaman. pengaturan konfigurasi kemudian dirinci dalam "Konfigurasi" di halaman utama, seperti yang ditunjukkan:
Menyebarkan OpenStack dengan Juju
Sekarang konfigurasi sudah ditentukan, kita bisa menggunakan Juju untuk menyebarkan dan menghubungkan layanan.
Menginisialisasi Juju
Juju membutuhkan pengaturan minimal. Di sini kami menganggapnya telah dikonfigurasi untuk berfungsi dengan kluster MAAS Anda (lihat [Panduan Instalasi Juju] [juju_install] untuk informasi lebih lanjut tentang ini.
Pertama, kita perlu mengambil gambar dan alat yang akan digunakan Juju:
juju sync-tools --debug
Kemudian kita dapat membuat instance bootstrap:
juju bootstrap --upload-tools --debug
Kami menggunakan sakelar alat unggah untuk menggunakan versi lokal alat yang baru saja kami ambil. Saklar debug akan memberikan keluaran verbose yang dapat bermanfaat. Proses ini mungkin memakan waktu beberapa menit, karena Juju membuat contoh dan menginstal alat. Setelah selesai, Anda dapat memeriksa status sistem dengan perintah:
juju status
Ini akan menghasilkan sesuatu seperti:
environment: maas
machines:
"0":
agent-state: started
agent-version: 1.18.1.1
dns-name: localhost
instance-id: localhost
series: trusty
Sebarkan OpenStack Charms
Sekarang node bootstrap Juju sudah aktif dan berjalan, kami dapat menggunakan layanan yang diperlukan untuk melakukan instalasi OpenStack kami. Untuk mengonfigurasikan layanan ini dengan benar saat digunakan, kami akan menggunakan file konfigurasi yang telah kami tentukan sebelumnya, dengan meneruskannya bersama --config
saklar dengan setiap perintah penyebaran. Ganti nama dan jalur file konfigurasi Anda jika berbeda.
Ini berguna tetapi tidak penting untuk menggunakan layanan dalam urutan di bawah ini. Juga sangat disarankan untuk membuka jendela terminal tambahan dan menjalankan perintah juju debug-log
. Ini akan menampilkan log semua layanan saat dijalankan, dan dapat berguna untuk pemecahan masalah.
Juga dianjurkan untuk menjalankan juju status
perintah secara berkala, untuk memeriksa bahwa setiap layanan telah diinstal dan berjalan dengan benar. Juju akan secara otomatis mencoba untuk mengambil versi terbaik dari pesona dari Toko Pesona online. Jika Anda menginstal dari dalam jaringan terbatas atau tertutup, dimungkinkan untuk mengambil pra-jimat yang diperlukan. Lihat [dokumentasi untuk pesona offline] [charms-offline].
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
Tambahkan hubungan antara layanan OpenStack
Meskipun layanan sekarang dikerahkan, mereka belum terhubung bersama. Setiap layanan saat ini ada dalam isolasi. Kami menggunakan juju add-relation
perintah untuk membuat mereka sadar satu sama lain dan mengatur koneksi dan protokol yang relevan. Konfigurasi ekstra ini dirawat oleh pesona individu itu sendiri.
Kita harus mulai menambahkan hubungan antara mantra dengan menyiapkan layanan otorisasi Keystone dan databasenya, karena ini akan dibutuhkan oleh banyak koneksi lain:
juju add-relation keystone mysql
Kami menunggu sampai relasi ditetapkan. Setelah selesai periksa dengan status juju:
juju status mysql
juju status keystone
Butuh beberapa saat untuk menyelesaikan layanan ini. Meskipun tentu saja mungkin untuk terus menambahkan hubungan (Juju mengelola antrian untuk tindakan yang tertunda) namun dapat kontraproduktif dalam hal waktu keseluruhan yang diambil, karena banyak relasi merujuk pada layanan yang sama.
Hubungan-hubungan berikut juga perlu dibuat:
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
Akhirnya, output dari status juju harus menunjukkan semua hubungan sebagai lengkap. Cloud OpenStack sekarang berjalan, tetapi perlu diisi dengan beberapa komponen tambahan sebelum siap digunakan.
Ken Pepple memiliki buku tentang penerapan OpenStack: http://shop.oreilly.com/product/0636920021674.do
Perusahaan Ken (Internap) memiliki layanan komputasi awan OpenStack komersial pertama yang tersedia.
http://www.theregister.co.uk/2011/10/10/28/internap_openstack_cloud/
Cloud Internap dibangun di atas Xen Cloud Platform (XCP) sebagai hypervisor.
sumber
Menyebarkan RDO adalah proses yang cepat dan mudah. Menyiapkan OpenStack cloud membutuhkan waktu sekitar 15 menit, dan bisa sesingkat 3 langkah. http://openstack.redhat.com/Quickstart
sumber