[ English | русский | Indonesia ]

Manajemen kontainer

Dengan Ansible, proses instalasi OpenStack sepenuhnya otomatis menggunakan playbooks yang ditulis dalam YAML. Setelah instalasi, pengaturan yang dikonfigurasikan oleh playbook dapat diubah dan dimodifikasi. Layanan dan kontainer dapat bergeser untuk mengakomodasi persyaratan lingkungan tertentu. Layanan penskalaan dicapai dengan menyesuaikan layanan di dalam kontainer, atau menambahkan grup penempatan baru. Dimungkinkan juga untuk menghancurkan kontainer, jika perlu, setelah perubahan dan modifikasi selesai.

Skala layanan individual

Layanan OpenStack individu, dan layanan proyek open source lainnya, dijalankan dalam kontainer. Dimungkinkan untuk meningkatkan layanan ini dengan memodifikasi file /etc/openstack_deploy/openstack_user_config.yml

  1. Arahkan ke file /etc/openstack_deploy/openstack_user_config.yml.

  2. Akses bagian kelompok penerapan dari file konfigurasi. Di bawah nama grup penerapan, tambahkan garis nilai afinitas (affinity value line) ke skala kontainer layanan OpenStack:

    infra_hosts:
      infra1:
        ip: 10.10.236.100
        # Rabbitmq
        affinity:
          galera_container: 1
          rabbit_mq_container: 2
    

    Dalam contoh ini, galera_container memiliki nilai kontainer satu. Dalam prakteknya, setiap kontainer yang tidak perlu penyesuaian dapat tetap pada nilai default satu, dan tidak boleh disesuaikan di atas atau di bawah nilai satu.

    Nilai afinitas untuk setiap kontainer ditetapkan secara default. Sesuaikan nilai afinitas ke nol untuk situasi di mana layanan OpenStack yang disimpan dalam kontainer tertentu tidak akan diperlukan ketika mengukur layanan lain yang diperlukan.

  3. Perbarui nomor kontainer yang tercantum di bawah konfigurasi affinity ke nomor yang diinginkan. Contoh di atas memiliki galera_container yang disetel pada satu dan rabbit_mq_container pada dua, yang mengukur layanan RabbitMQ, tetapi meninggalkan layanan Galera tetap.

  4. Jalankan perintah playbook yang sesuai setelah mengubah konfigurasi untuk membuat kontainer baru, dan instal layanan yang sesuai.

    For example, run the openstack.osa.containers_lxc_destroy with rabbimq-install tag from the openstack-ansible-plugins repository to complete the scaling process described in the example above:

    $ openstack-ansible openstack.osa.containers_lxc_destroy --tags rabbitmq-install
    

Hancurkan dan buat ulang kontainer

Resolving some issues may require destroying a container, and rebuilding that container from the beginning. It is possible to destroy and re-create a container with the openstack.osa.containers_lxc_destroy and openstack.osa.containers_lxc_create commands. These Ansible playbooks reside in the Openstack-Ansible plugins repository.

  1. Run the openstack-ansible openstack.osa.containers_lxc_destroy commands, specifying the target containers and the container to be destroyed.

    $ openstack-ansible openstack.osa.containers_lxc_destroy --limit "CONTAINER_NAME"
    $ openstack-ansible openstack.osa.containers_lxc_destroy --limit "CONTAINER_NAME"
    
  2. Replace CONTAINER_NAME with the target container.