Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 9

Assalamualaikum teman. Kali ini berjumpa kembali dalam postingan saya, masih dengan topik yang sama yaitu Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS. Kemaren pada postingan sebelumnya kita telah belajar tentang bagian Openstack Object Storage Service dan sekarang kita akan melanjutkannya dengan belajar konfigurasi Openstack Orchestraction Service atau yang lebih dikenal dalam Openstack dengan nama service Heat.

Saya akan menjelaskan apa itu heat? Jadi heat merupakan salah satu komponen opsional dalam openstack berarti kita tetap dapat menjalankan sebuah instance dengan ataupun tanpa heat service ini. Akan tetapi menurut saya sendiri, heat merupakan komponen yang sangat powerful dan diperlukan bagi sebuah openstack. Heat ini menyediakan template atau format template melalui REST API dan cloud information.

Template yang bisa diberikan oleh service heat ini memungkinkan kita untuk membuat jenis resource yang akan digunakan seperti dalam membuat instance, floating IP, volume, security group dan user serta masih banyak lainnya.

Dan berikut komponen dalam Heat :

  • heat CLI :

    merupakan sebuah tool berbasis CLI yang berkomunikasi dengan heat-api untuk mengeksekusi API AWS CloudFormation.

  • heat-api :

    Merupakan komponen yang menyediakan Openstack-native REST API yang memproses API dengan mengirimkannya kepada heat-enginets melalui RPC.

  • heat-api-cfn :

    Merupakan komponen yang menyediakan AWS query API yang compatible dengan AWS CloudFormation. Heat-engine juga memproses permintaan API dan mengirimnya kepada heat-engine melalui RPC.

  • heat-engine :

    Merupakan komponen yang bertugas menyusun template dan mengembalikan kepada API pelanggan.

Bagi kalian yang belum melihat postingan saya pada part-part sebelumnya bisa mengikutinya pada link berikut :

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 1

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 2

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 3

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 4

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 5

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 6

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 7

Instalasi & Konfigurasi Openstack Liberty di Ubuntu 14.04 LTS – Part 8

Baiklah langsung saja kita lakukan kegiatan lab nya :

LAB 52 – Konfigurasi Database Heat

Sebelum kita menginstall paket-paket yang dibutuhkan heat, kita harus membuat terlebih dahulu user, database dan service credential bagi hear.

    1. Kita buat terlebih dahulu database untuk heat :
      • Kita akses dulu mysql client :
        $ mysql -u root -p
      • Selanjutnya buat database heat :
        CREATE DATABASE heat;
      • Kemudian berikan akses user heat untuk mengakses 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';

        C19Ubahlah HEAT_DBPASS dengan password database user heat kalian masing-masing.

      • Jika sudah silahkan keluar dari mysql client.

LAB 53 – Konfigurasi User, Role dan API endpoint Service Heat

    1. Gunakan credential admin dalam membuat user heat tersebut :
      $ source admin-openrc.sh
    2. Selanjutnya buat user heat :
      • Buat user heat :
        $ openstack user create --domain default --password-prompt heat

        C0

      • Tambahkan role admin kedalam user heat :
        $ openstack role add --project service --user heat admin
      • Kita buat service entity heat dan heat-cfn :
        $ openstack service create --name heat \
          --description "IDN Orchestration" orchestration
        $ openstack service create --name heat-cfn \
          --description "IDN Orchestration"  cloudformation

        C1C2

    3. Kemudian kita buat API endpoint untuk heat :
      $ 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

      C3C4C5C6

    4. Heat service membutuhkan tambahan informasi mengenai identity service (keystone) dalam me-manage stack. Jadi kita tambahkan beberapa informasi, maka lakukan cara dibawah ini :
      • Kita buat domain heat yang didalamnya kita atur project serta user nya :
        $ openstack domain create --description "Stack projects and users" heat
      • Kemudian kita buat user heat_domain_admin untuk me-manage project dan user yang ada didalam domain heat :
        $ openstack user create --domain heat --password-prompt heat_domain_admin

        C7

      • Kita tambahkan role admin kedalam user heat_domain_admin dan domain heat untuk memberikan izin management stack oleh user heat_domain_admin :
        $ openstack role add --domain heat --user heat_domain_admin admin
      • Buat role heat_stack_owner :
        $ openstack role create heat_stack_owner

        C8

      • Tambahkan role demo kedalam user heat_stack_owner agar dapat me-manage stack menggunakan user demo :
        $ openstack role add --project demo --user demo heat_stack_owner
      • Kita buat role heat_stack_user :
        $ openstack role create heat_stack_user

        C9

LAB 54 – Instalasi dan Konfigurasi Heat

  • Setelah itu kita install paket-paket yang dibutuhkan :

 

# apt-get install heat-api heat-api-cfn heat-engine \
  python-heatclient
    1. Kemudian buka dan edit file /etc/heat/heat.conf :
        • Pada bagian [database], kita konfigurasikan akses database-nya :
          [database]
          ...
          connection = mysql+pymysql://heat:HEAT_DBPASS@controller/heat

          C10Jangan lupa ubah bagian HEAT_DBPASS dengan password database heat kalian.

        • Pada bagian [DEFAULT]> dan [oslo_messaging_rabbit], kita konfigurasikan akses RabbitMQ message queue :
          [DEFAULT]
          ...
          rpc_backend = rabbit
          
          [oslo_messaging_rabbit]
          ...
          rabbit_host = controller
          rabbit_userid = openstack
          rabbit_password = RABBIT_PASS

          C13Ubahlah RABBIT_PASS dengan password RabbitMQ user openstack kalian masing-masing.

        • Pada bagian [keystone_authtoken], [trustee], [clients_keystone], dan [ec2authtoken], kita tambahkan perintah seperti dibawah ini :
          [keystone_authtoken]
          ...
          auth_uri = http://controller:5000
          auth_url = http://controller:35357
          auth_plugin = password
          project_domain_id = default
          user_domain_id = 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_id = default
          
          [clients_keystone]
          ...
          auth_uri = http://controller:5000
          
          [ec2authtoken]
          ...
          auth_uri = http://controller:5000/v3

          C14C15

          Ubahlah HEAT_PASS dengan password heat anda sendiri.

      • Pada bagian [DEFAULT], tambahkan metadata dan wait conditions URL nya :
        [DEFAULT]
        ...
        heat_metadata_server_url = http://controller:8000
        heat_waitcondition_server_url = http://controller:8000/v1/waitcondition
      • Pada bagian [DEFAULT], kita tambahkan pula stack domain dan admin credential :
        [DEFAULT]
        ...
        stack_domain_admin = heat_domain_admin
        stack_domain_admin_password = HEAT_DOMAIN_PASS
        stack_user_domain_name = heat

        C12Ubah HEAT_DOMAIN_PASS dengan password heat_domain_admin anda.

      • Untuk memudahkan dalam troubleshooting jika ada error kita aktifkan verbose logging dalam bagian [DEFAULT] :
        [DEFAULT]
        ...
        verbose = True
      • Kemudian kita sinkronisasikan database heat :
        # su -s /bin/sh -c "heat-manage db_sync" heat
    2. Selanjutnya kita restart service heat :
      # service heat-api restart
      # service heat-api-cfn restart
      # service heat-engine restart
    3. Kita hapus saja heat .sqlite karena database tersebut adalah buatan default dari ubuntu paket jadi tidak penting :
      # rm -f /var/lib/heat/heat.sqlite

LAB 55 – Verifikasi Hasil Konfigurasi Heat

  • Terakhir kita lakukan verifikasi :

 

    • Gunakan akses credential admin :
      $ source admin-openrc.sh
    • Kemudian kita lihat service yang berjalan pada heat :
      $ heat service-list

      C17

    • Kita bisa pula verifikasi adanya Orchestration pada dashboad openstack jika konfigurasi kita telah berhasil :
    • C18

Konfigurasi heat service telah selesai dan kita akan melanjutkan untuk mengkonfigurasi service telemetry pada postingan yang akan datang. Terima kasih.

Wassalamualaikum Wr. Wb.

 

Leave a Reply

Your email address will not be published. Required fields are marked *