Redhat Openstack Platform Director adalah alat untuk install dan mengelola openstack secara kompleks. openstack director redhat merupakan based on openstack project TripelO (Openstack-On-Openstack). project ini memiliki kelebihan dalam menginstall dan mengoperasikan secara lengkap dari environtment openstack.
Red Hat Openstack Platform director memiliki 2 konsep utama yaitu undercloud dan overcloud. Undercloud berfungsi untuk menginstall dan mengkonfigurasi overcloud seperti gambar diatas. penjelasan lengkapnya akan dijelaskan dibawah
- Undercloud
Udercloud adalah bagian terpenting pada node director. ini adalah sebuah single sistem installasi openstack yang didalamnya terdapat komponen untuk provisioning dan manage node openstack yang membentuk lingkungan openstack (overcloud). komponen yang terdapat pada undercloud diantaranya adalah
- Environment Planning
- Bare Metal System Control
- Orchestration
- Command Line Tools and a Web UI
- Undercloud Components
- OpenStack Identity (keystone)
- OpenStack Bare Metal (ironic) and OpenStack Compute (nova)
- OpenStack Networking (neutron) and Open vSwitch
- OpenStack Image Service (glance)
- OpenStack Orchestration (heat) and Puppet
- OpenStack Telemetry (ceilometer)
- OpenStack Telemetry Metrics (gnocchi)
- OpenStack Telemetry Alarming (aodh)
- OpenStack Workflow Service (mistral)
- OpenStack Messaging Service (zaqar)
- OpenStack Object Storage (swift)
- Overcloud
Overcloud adalah environtment Red Hat Openstack platform yang dihasilkan dari undercloud. didalamnya terdapat roles yang berbeda, dimana kita dapat mendefinisikan didalam environtment platform openstack, undercloud mencakup kumpulan fungsi node overcloud default, meliputi :
- Controller
controller merupakan node yang menyediakan administrasi, networking dan HA untuk environtment openstack. idealnya environtment openstack merekomendasikan tiga node yang dibuat dalam satu cluster untuk mengaktifkan HA.
Secara default node controller memiliki komponen seperti berikut :
- OpenStack Dashboard (horizon)
- penStack Identity (keystone)
- OpenStack Compute (nova) API
- OpenStack Networking (neutron)
- OpenStack Image Service (glance)
- penStack Block Storage (cinder)
- OpenStack Object Storage (swift)
- OpenStack Orchestration (heat)
- OpenStack Telemetry (ceilometer)
- OpenStack Telemetry Metrics (gnocchi)
- OpenStack Telemetry Alarming (aodh)
- OpenStack Clustering (sahara)
- OpenStack Shared File Systems (manila)
- OpenStack Bare Metal (ironic)
- MariaDB
- Open vSwitch
- Pacemaker and Galera for high availability services.
- Compute
Compute adalah sebuah node yang menyediakan resource untuk komputasi dalam environtment openstack. kita dapat menambahkan banyak node compute untuk scale out pada environtment dari waktu yang akan datang. secara default node compute memiliki komponen sebagai berikut
- OpenStack Compute (nova)
- KVM/QEMU
- OpenStack Telemetry (ceilometer) agent
- Open vSwitch
- Storage
sebuah node yang menyediakan storage untuk environment openstack. ini termasuk node untuk
- Ceph Storage Node
- Block Storage (cinder)
- Object Storage (swift)
- High Availability
Red Hat openstack platform director mengunakan cluster node controller untuk menyediakan layanan high availability pada environment platform openstack anda. Director menginstall sebuah duplikasi dari komponen pada setiap node controller dan mengelola itu secara bersamaan dalam satu service. Jenis konfigurasi cluster menyediakan fallback jika terjadi kegagalan operasional pada sebuah single controller.
Openstack Plaform Director mengunakan beberapa sofware untuk mengelola komponen pada node controller.
- Pacemaker => pacemaker adalah cluster resource manager. pacemaker akan mengelola dan memonitoring ketersediaan dari komponen openstack di semua node cluster.
- HAProxy => menyediakan load balancing dan proxy ke layanan cluster
- Galera => untuk replikasi dari redhat openstack platform database didalam cluster
- Memcached => menyediakan database caching (biasanya untuk share session)
Topologi
Settingan network undercloud
eth0 => 100.100.100.47/24 (untuk koneksi ke internet)
eth1 => 10.1.1.47/24 (untuk pxe network)
topologi diatas merupakan topologi full solusi openstack redhat, dimana terdapat undercloud dan overcloud, namun untuk tutorial ini saya akan membahas installasi undercloud atau director terlebih dahulu.
- membuat user untuk install director
redhat openstack merekomendasikan untuk menginstall openstack mengunakan user selain root. misalnya kita akan membuat user stack
1 2 3 4 5 6 |
[root@director ~]# useradd stack [root@director ~]# passwd stack [root@director ~]# echo "stack ALL=(root) NOPASSWD:ALL" | tee -a /etc/sudoers.d/stack [root@director ~]# chmod 0440 /etc/sudoers.d/stack [root@director ~]# su - stack [stack@director ~]$ |
- membuat direktori untuk template dan images
Pembuatan direktori ini dibawah user stack
1 2 |
[stack@director ~]$ mkdir ~/images [stack@director ~]$ mkdir ~/templates |
- Setting hostname
1 2 |
[stack@director ~]$ hostname [stack@director ~]$ hostname -f |
jika hasilnya tidak sesuai dengan hostname yg kita inginkan, kita bisa coba rubah mengunakan hostnamectl
1 2 |
[stack@director ~]$ sudo hostnamectl set-hostname director.routecloud.id [stack@director ~]$ sudo hostnamectl set-hostname --transient director.routecloud.id |
rubah hostname sesuai dengan apa yang anda inginkan. kemudian rubah pada hosts
1 2 |
[stack@director ~]$ sudo vi /etc/hosts 127.0.0.1 director.routecloud.id director localhost localhost.localdomain localhost4 localhost4.localdomain4 |
- Register subscription redhat openstack
seperti biasa karena kita mengunakan produk redhat maka harus melakukan subscription untuk mengunakan repositori redhat openstack
1 2 3 |
[stack@director ~]$ sudo subscription-manager register #masukan user #masukan password |
kemudian cari pool id untuk openstack redhat director
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[stack@director ~]$ sudo subscription-manager list --available --all --matches="*OpenStack*" Subscription Name: Name of SKU Provides: Red Hat Single Sign-On Red Hat Enterprise Linux Workstation Red Hat CloudForms Red Hat OpenStack Red Hat Software Collections (for RHEL Workstation) Red Hat Virtualization SKU: SKU-Number Contract: Contract-Number Pool ID: Valid-Pool-Number-123456 Provides Management: Yes Available: 1 Suggested: 1 Service Level: Support-level Service Type: Service-Type Subscription Type: Sub-type Ends: End-date System Type: Physical |
hasil diatas hanya sebagai contoh saja, data yang cukup penting adalah Pool ID, sebagai subscription repo openstack redhat
1 |
[stack@director ~]$ sudo subscription-manager attach --pool=Valid-Pool-Number-123456 |
setelah berhasil, attach repo, maka tahap selanjutnya adalah mendesable repo sebelumnya dan mengaktifkan repo yang baru
1 2 |
[stack@director ~]$ sudo subscription-manager repos --disable=* [stack@director ~]$ sudo subscription-manager repos --enable=rhel-7-server-rpms --enable=rhel-7-server-extras-rpms --enable=rhel-7-server-rh-common-rpms --enable=rhel-ha-for-rhel-7-server-rpms --enable=rhel-7-server-openstack-10-rpms |
Note : jangan aktifkan repository lainnya karena dapat menyebabkan repo conflict
Kemudian update system anda dan reboot jika proses update sudah selesai
1 2 |
[stack@director ~]$ sudo yum update -y [stack@director ~]$ sudo reboot |
- Install package openstack redhat director
1 |
[stack@director ~]$ sudo yum install -y python-tripleoclient |
- Konfigurasi director
setelah install tripleo maka selanjutnya kita akan mengedit file undercloud.conf, untuk menginisiasi parameter installasi
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
[stack@director ~]$cp /usr/share/instack-undercloud/undercloud.conf.sample ~/undercloud.conf [stack@director ~]$ vi ~/undercloud.conf [DEFAULT] local_ip = 10.1.1.47/24 undercloud_public_vip = 10.1.1.110 undercloud_admin_vip = 10.1.1.111 local_interface = eth1 masquerade_network = 10.1.1.0/24 dhcp_start = 10.1.1.20 dhcp_end = 10.1.1.30 network_cidr = 10.1.1.0/24 network_gateway = 10.1.1.47 inspection_iprange = 10.1.1.150,10.1.1.180 generate_service_certificate = True enable_ui = true [stack@director ~]$ openstack undercloud install [stack@director ~]$ source ~/stackrc |
tunggu proses intallasi undercloud selesai, karena waktunya cukup lama untuk installasinya
- Mempersiapkan image untuk overcloud
1 |
[stack@director ~]$ sudo yum install rhosp-director-images rhosp-director-images-ipa |
kemudian ekstrak image pada direktori images di user stack
1 2 |
[stack@director ~]$ cd ~/images [stack@director ~]$ for i in /usr/share/rhosp-director-images/overcloud-full-latest-10.0.tar /usr/share/rhosp-director-images/ironic-python-agent-latest-10.0.tar; do tar -xvf $i; done |
kemudian upload image untuk installasi overcloud
1 |
[stack@director ~]$ openstack overcloud image upload --image-path /home/stack/images/ |
setelah itu verfikasi image untuk overcloudnya
1 2 3 4 5 6 7 8 9 10 |
[stack@director ~]$ openstack image list +--------------------------------------+------------------------+ | ID | Name | +--------------------------------------+------------------------+ | 765a46af-4417-4592-91e5-a300ead3faf6 | bm-deploy-ramdisk | | 09b40e3d-0382-4925-a356-3a4b4f36b514 | bm-deploy-kernel | | ef793cd0-e65c-456a-a675-63cd57610bd5 | overcloud-full | | 9a51a6cb-4670-40de-b64b-b70f4dd44152 | overcloud-full-initrd | | 4f7e33f4-d617-47c1-b36f-cbe90f132e5d | overcloud-full-vmlinuz | +--------------------------------------+------------------------+ |
- Setting nameserver untuk subnet neutron undercloud
overcloud membutuhkan nameserver untuk resolve hostname melalui DNS
1 2 |
[stack@director ~]$ openstack subnet list [stack@director ~]$ openstack subnet set --dns-nameserver 8.8.8.8 subnet-uuid |
kemudian verify setting nameservernya
1 2 3 4 5 6 7 8 |
openstack subnet show subnet-uuid +-------------------+-----------------------------------------------+ | Field | Value | +-------------------+-----------------------------------------------+ | ... | | | dns_nameservers | 8.8.8.8 | | ... | | +-------------------+-----------------------------------------------+ |
- Akses dashboard director openstack redhat
untuk mengakses dashboard openstack redhat director, anda bisa mengakses melalui google chrome, namun akan ada masalah ketika mengunakan firefox, karena terdapat ketidakcocokan ssl certificate dari director.
masukan username : admin, dan password sesuai dengan stackrc
untuk melihat password bisa dengan mengeksekusi command pada uncercloud cli di user stack
1 2 |
$sudo hiera admin_password xxxxxxxxxxxxxxxxxxxxxxxxxxx |
password dari command tersebut yang dapat digunakan untuk login ke director.
mungkin cukup sekian dulu tutorial installasi undercloud redhat, semoga bermanfaat
wassalamualaikum 😀
System Engineer
Komentar