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

Container-Verwaltung

With Ansible, the OpenStack installation process is entirely automated using playbooks written in YAML. After installation, the settings configured by the playbooks can be changed and modified. Services and containers can shift to accommodate certain environment requirements. Scaling services are achieved by adjusting services within containers, or adding new deployment groups. It is also possible to destroy containers, if needed, after changes and modifications are complete.

Skalieren Sie einzelne Dienste

Einzelne OpenStack-Dienste und andere Open-Source-Projektdienste werden in Containern ausgeführt. Es ist möglich, diese Dienste zu skalieren, indem Sie die Datei /etc/openstack_deploy/openstack_user_config.yml modifizieren.

  1. Navigieren Sie in die Datei /etc/openstack_deploy/openstack_user_config.yml.

  2. Greifen Sie auf den Deployment-Gruppen-Abschnitt der Konfigurationsdatei zu. Fügen Sie unter dem Namen der Bereitstellungsgruppe eine Affinity-Wertlinie zu OpenSack-Services für Container-Maßstäbe hinzu:

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

    In diesem Beispiel hat galera_container einen Container-Wert von eins. In der Praxis können alle Container, die keine Anpassung benötigen, auf dem Standardwert von eins bleiben und sollten nicht über oder unter den Wert eins gesetzt werden.

    Der Affinitätswert für jeden Container ist standardmäßig auf eins festgelegt. Passen Sie den Affinitätswert für Situationen auf Null an, in denen die OpenStack-Dienste in einem bestimmten Container beim Skalieren anderer erforderlicher Dienste nicht benötigt werden.

  3. Aktualisieren Sie die Containernummer, die unter der Konfiguration affinity aufgeführt ist, auf die gewünschte Nummer. Das obige Beispiel hat galera_container auf eins und rabbit_mq_container auf zwei gesetzt, was die RabbitMQ-Dienste skaliert, aber die Galera-Dienste nicht verändert.

  4. Führen Sie die entsprechenden Playbook-Befehle aus, nachdem Sie die Konfiguration geändert haben, um die neuen Container zu erstellen, und installieren Sie die entsprechenden Dienste.

    Führen Sie beispielsweise die Befehle openstack-ansible lxc-containers-create.yml rabbitmq-install.yml aus dem Repository openstack-ansible/playbooks aus, um den im obigen Beispiel beschriebenen Skalierungsprozess abzuschließen:

    $ cd openstack-ansible/playbooks
    $ openstack-ansible lxc-containers-create.yml rabbitmq-install.yml
    

Zerstören und Neuerstellen von Containern

Das Beheben einiger Probleme erfordert möglicherweise das Zerstören eines Containers und das erneute Erstellen des Containers von Anfang an. Mit den Befehlen lxc-containers-destroy.yml und lxc-containers-create.yml kann ein Container gelöscht und neu erstellt werden. Diese Ansible-Skripte befinden sich im Repository openstack-ansible/playbooks.

  1. Navigieren Sie zum Verzeichnis openstack-ansible.

  2. Führen Sie die Befehle openstack-ansible lxc-containers-destroy.yml aus und geben Sie die Zielcontainer und den zu zerstörenden Container an.

    $ openstack-ansible lxc-containers-destroy.yml --limit "CONTAINER_NAME"
    $ openstack-ansible lxc-containers-create.yml --limit "CONTAINER_NAME"
    
  3. Ersetzen Sie ``CONTAINER_NAME`` mit dem Zielcontainer.