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

Service-Architektur

Einführung

OpenStack-Ansible (OSA) has a flexible deployment configuration model that can deploy all services in separate machine containers or on designated hosts without using containers, and all network traffic either on a single network interface or on many network interfaces.

Dank dieser Flexibilität können die Implementierer wählen, wie OpenStack für den jeweiligen Anwendungsfall entsprechend bereitgestellt wird.

In den folgenden Abschnitten werden die Dienste beschrieben, die von OpenStack-Ansible bereitgestellt werden.

Infrastrukturdienste

OpenStack-Ansible implementiert die folgenden Infrastrukturkomponenten:

  • MariaDB mit Galera

    Alle OpenStack-Dienste erfordern eine zugrunde liegende Datenbank. MariaDB mit Galera implementiert eine Multimaster-Datenbankkonfiguration, die die Verwendung als hoch verfügbare Datenbank mit einem einfachen Failovermodell vereinfacht.

  • RabbitMQ

    OpenStack services use RabbitMQ for Advanced Message Queuing Protocol (AMQP). OpenStack-Ansible deploys RabbitMQ in a clustered configuration with all queues mirrored between the cluster nodes. Because Telemetry (ceilometer) message queue traffic is quite heavy, for large environments we recommend separating Telemetry notifications into a separate RabbitMQ cluster.

  • Memcached

    OpenStack services use Memcached for in-memory caching, which accelerates transactions. For example, the OpenStack Identity service (Keystone) uses Memcached for caching authentication tokens, which ensures that token validation does not have to complete a disk or database transaction every time the service is asked to validate a token.

  • Repository

    Das Repository enthält den Referenzsatz von Artefakten, die für die Installation der Umgebung verwendet werden. Die Artefakte umfassen:

    • Ein Git-Repository, das eine Kopie des Quellcodes enthält, mit dem die Pakete für alle OpenStack-Dienste vorbereitet werden

    • Python Wheels für alle Dienste, die in der Umgebung eingesetzt werden

    • Ein apt/yum-Proxy-Cache, der zum Zwischenspeichern von in der Umgebung installierten Verteilungspaketen verwendet wird

  • Lastenausgleicher

    At least one load balancer is required for a deployment. OpenStack-Ansible provides a deployment of HAProxy, but we recommend using a physical load balancing appliance for production environments.

  • Dienstprogramm-Container

    Wenn für ein Werkzeug oder Objekt kein dedizierter Container erforderlich ist oder wenn das Erstellen eines neuen Containers für ein einzelnes Werkzeug oder Objekt nicht praktikabel ist, wird es im Dienstprogrammcontainer installiert. Der Dienstprogrammcontainer wird auch verwendet, wenn Tools nicht direkt auf einem Host installiert werden können. Der Dienstprogrammcontainer wird mit den entsprechenden Anmeldeinformationen und Clients vorbereitet, um die OpenStack-Umgebung zu verwalten. Es ist so eingestellt, dass es automatisch die internen Service-Endpunkte verwendet.

  • Unbound DNS-Container

    Containers running an Unbound DNS caching service can optionally be deployed to cache DNS lookups and to handle internal DNS name resolution. We recommend using this service for large-scale production environments because the deployment will be significantly faster. If this service is not used, OpenStack-Ansible modifies /etc/hosts entries for all hosts in the environment.

OpenStack-Dienste

OpenStack-Ansible is able to deploy a multitude of services. Have a look at the role maturity matrix to know the status of the service you want to deploy.