Tutorial Install dan Konfigurasi Openstack : Orchestration kodename (Heat)

Mengenali Komponen - komponen service Heat Openstack

Layanan Orchestration menyediakan basis template untuk menggambarkan aplikasi cloud dengan menjalankan panggilan OpenStack API untuk menjalankan aplikasi cloud. Perangkat lunak ini mengintegrasikan komponen inti lainnya dari OpenStack menjadi sistem template one-file. Template ini memungkinkan kamu untuk membuat banyak jenis source OpenStack seperti instance, ‘floating IP’, volume, security group, dan user. Hal ini juga menyediakan fungsi canggih seperti ketersediaan tinggi instance, auto-scaling instance, dan nested stacks. Hal ini memungkinkan proyek inti OpenStack untuk menerima basis user yang lebih besar.

Layanan ini memungkinkan para pengembang untuk mengintegrasikan dengan layanan Orchestration langsung atau melalui plug-in khusus.

Layanan Orchestration terdiri dari komponen-komponen berikut:

Klien command-line heat
Sebuah CLI yang berkomunikasi dengan heat-api untuk menjalankan AWS CloudFormation APIs. Para end developer dapat langsung menggunakan Orchestration REST API.

komponen heat-apiSebuah OpenStack-native API REST yang memproses permintaan API dengan mengirimkan ke heat-engine melaui Remote Procedure Call (RPC).

komponen heat-api-cfnAWS Query API yang kompatibel dengan AWS CloudFormation. Ini memproses permintaan API dengan mengirimkan mereka ke heat-engine melalui RPC.

heat-engineMelakukan orkhestrasi peluncuran template dan menyediakan ‘events back’ ke konsumen API.


Instasi dan Konfigurasi Openstack service Heat

Bagian ini menjelaskan cara menginstal dan mengkonfigurasi layanan Orchestration, code-named heat, pada ‘controller node’.

#LAB 41 Membuat database heat

Sebelum kamu menginstal dan mengkonfigurasi Orchestration, kamu harus membuat database, kredensial layanan, dan endpoints API. Orchestration juga memerlukan informasi tambahan dalam pelayanan Identity.

Untuk membuat database, lakukan langkah-langkah berikut:

Gunakan klien akses database untuk berhubung ke server database sebagai root user:
$ mysql -u root -p
Buat database heat:
CREATE DATABASE heat;
 Berikan akses yang tepat untuk database heat:
GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'localhost' \
  IDENTIFIED BY 'HEAT_DBPASS';
GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'%' \
  IDENTIFIED BY 'HEAT_DBPASS';
Ganti HEAT_DBPASS dengan password yang sesuai.

Keluarlah dari client untuk mengakses database.

Dapatkan sumber mandat admin untuk mendapatkan akses ke command CLI ‘admin-only’:
$ source admin-openrc
Untuk membuat kredensial layanan, selesaikanlah langkah-langkah ini:

1. Buat user heat:
$ openstack user create --domain default --password-prompt heat


2. Tambahkan peran admin ke user heat:
$ openstack role add --project service --user heat admin

3. Buat entitas layanan heat dan heat-cfn:
$ openstack service create --name heat \
--description "Orchestration" orchestration
$ openstack service create --name heat-cfn \
  --description "Orchestration"  cloudformation

4. Buat endpoint API layanan Orchestration:

$ openstack endpoint create --region RegionOne \
  orchestration public http://controller:8004/v1/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
  orchestration internal http://controller:8004/v1/%\(tenant_id\)s
$ openstack endpoint create --region RegionOne \
  orchestration admin http://controller:8004/v1/%\(tenant_id\)s

$ openstack endpoint create --region RegionOne \
  cloudformation public http://controller:8000/v1
$ openstack endpoint create --region RegionOne \
  cloudformation internal http://controller:8000/v1
$ openstack endpoint create --region RegionOne \
  cloudformation admin http://controller:8000/v1


Orkestrasi memerlukan informasi tambahan dalam layanan Identity untuk mengelola stacks. Untuk menambahkan informasi ini, selesaikan langkah berikut:

1. Buat domain heat yang berisi proyek dan user untuk stack:
$ openstack domain create --description "Stack projects and users" heat

2. Buat user heat_domain_admin untuk mengelola proyek dan user dalam domain heat:
$ openstack user create --domain heat --password-prompt heat_domain_admin


3. Tambahkan peran admin ke user heat_domain_admin dalam domain heat dan mengaktifkan hak manajemen stack administrasi oleh user heat_domain_admin:
$ openstack role add --domain heat --user-domain heat --user heat_domain_admin admin
4. Buat peran heat_stack_owner:
$ openstack role create heat_stack_owner
5. Tambahkan peran heat_stack_owner ke proyek demo dan user untuk memungkinkan manajemen stack oleh user demo:
$ openstack role add --project demo --user demo heat_stack_owner
 
 Catatan

kamu harus menambahkan peran heat_stack_owner untuk setiap user yang mengelola stack.

6. Buat peran heat_stack_user:
$ openstack role create heat_stack_user
 Catatan

Layanan Orchestration secara otomatis memberikan peran heat_stack_user untuk user yang menciptakan selama pengerahan stack. Secara default, peran ini membatasi operasi :term: API <Application Programming Interface (API)>. Untuk menghindari konflik, jangan menambahkan peran ini untuk user dengan peran heat_stack_owner.

#LAB 42 Instalasi dan Konfigurasi Komponen Heat

1. Instal paket:
# apt-get install heat-api heat-api-cfn heat-engine \
  python-heatclient
2. Edit terlebih dahulu file /etc/heat/heat.conf dan selesaikan langkah berikut:

pada bagian [Database], konfigur akses database:

[database]
...
connection = mysql+pymysql://heat:HEAT_DBPASS@controller/heat

Ganti HEAT_DBPASS dengan password yang kamu buat untuk database Orchestration.

pada bagian [DEFAULT] dan [oslo_messaging_rabbit], konfigur akses antrian pesan (message queue) RabbitMQ:

[DEFAULT]
...
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS


Ganti RABBIT_PASS dengan password yang kamu buat akun openstack di RabbitMQ.

pada bagian [keystone_authtoken], [trustee], [clients_keystone], and [ec2authtoken], konfigurasi akses layanan Identity:

[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = heat
password = HEAT_PASS
[trustee]
...
auth_plugin = password
auth_url = http://controller:35357
username = heat
password = HEAT_PASS
user_domain_name = default
[clients_keystone]
...
auth_uri = http://controller:35357
[ec2authtoken]
...
auth_uri = http://controller:5000


Ganti HEAT_PASS dengan password yang kamu buat untuk user heat dalam service Identity.

pada bagian [DEFAULT], konfigurasi metadata dan menunggu URL kondisi:

[DEFAULT]
...
heat_metadata_server_url = http://controller:8000
heat_waitcondition_server_url = http://controller:8000/v1/waitcondition

pada bagian [DEFAULT], konfigurasi domain stack dan kredensial administratif:

[DEFAULT]
...
stack_domain_admin = heat_domain_admin
stack_domain_admin_password = HEAT_DOMAIN_PASS
stack_user_domain_name = heat

Ganti HEAT_DOMAIN_PASS dengan password yang kamu buat untuk user heat_domain_admin dalam pelayanan Identity.

3. sync database Orchestration:
# su -s /bin/sh -c "heat-manage db_sync" heat
 
 Catatan

Abaikan pesan bantahan dalam output ini.

#LAB 43 Finalisasi instalasi

Restart layanan Orchestration:
# service heat-api restart
# service heat-api-cfn restart
# service heat-engine restart



#LAB 44 Verifikasi Instalasi
catatan
verifikasi ini dilakukan pada controller node


1. source admin credentials tenant
source admin-openrc.sh
2. List service komponen untuk verifikasi successful launch dan registration dari setiap proses:
heat service-list 
 
atau dapat check lewat dashboard openstack, dengan cara sebagai berikut


0 Response to "Tutorial Install dan Konfigurasi Openstack : Orchestration kodename (Heat)"

Post a Comment