[ English | русский | Indonesia ]
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.ymldan 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.
In these files, the target hosts are listed under one or more
headings, such as shared_infra_hosts or storage_hosts, which serve as
Ansible group mappings. These groups map to the physical
hosts.
The haproxy.yml.example file in the conf.d/ directory provides
a simple example of defining a host group (load_balancer_hosts) with two hosts
(infra1 and 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.
For example, the shared-infra.yml file defines a container group,
shared_infra_containers, as a subset of the all_containers
inventory group. The shared_infra_containers container group is
mapped to the shared_infra_hosts host group. All of the service
components in the shared_infra_containers container group are
deployed to each target host in the shared_infra_hosts host group.
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.
To continue the example, the memcache.yml file defines the
memcache_container container group. This group is a subset of the
shared_infra_containers group, which is itself a subset of
the all_containers inventory group.
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.