[ English | русский | español | Indonesia | English (United Kingdom) | Deutsch ]

Memahami inventory

Tata letak kontainer dan layanan default di OpenStack-Ansible (OSA) ditentukan oleh file /etc/openstack_deploy/openstack_user_config.yml dan isi dari kedua direktori /etc/openstack_deploy/conf.d/ dan /etc/openstack_deploy/env.d/. Anda menggunakan sumber-sumber ini untuk menentukan pemetaan group yang digunakan playbook untuk menargetkan host dan container untuk peran yang digunakan dalam deploy.

  • Anda mendefinisikan grup host, yang mengumpulkan host target menjadi inventory groups, melalui file /etc/openstack_deploy/openstack_user_config.yml dan isi dari direktori /etc/openstack_deploy/conf.d/.

  • Anda mendefinisikan container groups, yang dapat memetakan dari komponen layanan yang akan digunakan hingga kelompok host, melalui file di direktori /etc/openstack_deploy/env.d/.

Untuk menyesuaikan tata letak komponen untuk penggunaan Anda, modifikasi grup host dan grup container dengan tepat sebelum menjalankan playbook instalasi.

Memahami grup host (conf.d structure)

Sebagai bagian dari konfigurasi awal, setiap host target akan muncul di file /etc/openstack_deploy/openstack_user_config.yml atau dalam file dalam direktori``/etc/openstack_deploy/conf.d/.  Format yang digunakan untuk file dalam direktori  ``conf.d/ identik dengan sintaksis yang digunakan dalam file openstack_user_config.yml.

Dalam file ini, host target terdaftar di bawah satu atau lebih judul, seperti shared-infra_hosts atau storage_hosts, yang berfungsi sebagai pemetaan grup Ansible. Grup ini memetakan ke host fisik.

File haproxy.yml.example dalam direktori conf.d/ memberikan contoh sederhana untuk mendefinisikan grup host (haproxy_hosts) dengan dua host (infra1 dan infra2).

File swift.yml.example memberikan contoh yang lebih kompleks. Di sini, variabel host untuk host target ditentukan dengan menggunakan kunci container_vars. OpenStack-Ansible menerapkan semua entri di bawah kunci ini sebagai variabel khusus host untuk setiap kontainer komponen pada host tertentu.

Catatan

Untuk mengelola ukuran file, kami sarankan Anda mendefinisikan grup inventory baru, terutama untuk layanan baru, dengan menggunakan file baru di direktori conf.d/.

Memahami grup container (env.d structure)

Pemetaan grup tambahan terdapat di dalam file di direktori /etc/openstack_deploy/env.d/. Grup ini diperlakukan sebagai pemetaan virtual dari grup host (dijelaskan di atas) ke grup kontainer, yang menentukan di mana masing-masing layanan menyebarkan. Dengan meninjau file di dalam direktori env.d/, Anda dapat mulai melihat kumpulan (nesting) grup yang diwakili dalam tata letak default.

Sebagai contoh, file shared-infra.yml mendefinisikan grup kontainer, shared-infra_containers, sebagai bagian dari grup inventory all_containers. Grup container shared-infra_containers dipetakan ke grup host shared-infra_hosts. Semua komponen layanan dalam grup kontainer shared-infra_containers dikerahkan ke setiap host target dalam grup shared-infra_hosts host.

Di dalam bagian physical_skel, inventaris dinamis OpenStack-Ansible mengharapkan untuk menemukan sepasang kunci. Kunci utama memetakan item di bagian container_skel, dan kunci kedua memetakan ke grup host target (dijelaskan di atas) yang bertanggung jawab untuk meng-hosting komponen layanan.

Untuk melanjutkan contoh, file memcache.yml menentukan grup container memcache_container. Grup ini adalah subset dari grup shared-infra_containers, yang merupakan subset grup persediaan all_containers.

Catatan

Grup all_containers secara otomatis ditentukan oleh OpenStack-Ansible. Komponen layanan apa pun yang dikelola oleh peta OpenStack-Ansible ke subset dari grup inventory all_containers, langsung atau tidak langsung melalui grup kontainer perantara lainnya.

Tata letak default tidak hanya bergantung pada grup yang merupakan himpunan bagian dari grup lain. Grup komponen memcache adalah bagian dari grup memcache_container, serta grup memcache_all dan juga berisi grup komponen memcached. Jika Anda meninjau playbook playbooks/memcached-install.yml, Anda melihat bahwa playbook tersebut berlaku untuk host di grup memcached. Layanan lain mungkin memiliki kebutuhan penyebaran yang lebih kompleks. Mereka mendefinisikan dan mengkonsumsi kelompok container inventaris secara berbeda. Memetakan komponen ke beberapa grup dengan cara ini memungkinkan penargetan peran dan tugas yang fleksibel.