Dienste konfigurieren

Die services.yaml definiert die Dienste, die von Adobe Commerce in Cloud-Infrastrukturen wie MySQL, Redis und Elasticsearch oder OpenSearch unterstützt und verwendet werden. Sie müssen keine externen Dienstleister abonnieren. Diese Datei befindet sich im .magento -Verzeichnis Ihres Projekts.

Das Bereitstellungsskript verwendet die Konfigurationsdateien im .magento -Verzeichnis, um die Umgebung mit den konfigurierten Diensten bereitzustellen. Ein Dienst wird für Ihre Anwendung verfügbar, wenn er im relationships -Eigenschaft der .magento.app.yaml -Datei. Die services.yaml -Datei enthält die type und Disk -Werte. Der Diensttyp definiert den Dienst name und version.

Durch das Ändern einer Dienstkonfiguration stellt eine Bereitstellung die Umgebung mit den aktualisierten Diensten bereit, was sich auf die folgenden Umgebungen auswirkt:

  • Alle Starterumgebungen einschließlich Produktion master
  • Umgebungen für Pro-Integration
TIP
Für Pro-Projekte müssen Sie Senden eines Adobe Commerce Support-Tickets installieren oder aktualisieren Dienstleistungen in Staging und Production nur Umgebungen.
Geben Sie die erforderlichen Dienständerungen an, fügen Sie Ihre aktualisierte .magento.app.yaml und services.yaml und geben Sie die PHP-Version im Ticket an. Informationen zu Self-Service-Änderungen an PHP-Versionen, Erweiterungen oder Umgebungseinstellungen finden Sie unter PHP-Einstellungen in Anwendungskonfiguration.
Für Änderungen an einer live Produktionsumgebung (Nur Pro), müssen Sie eine Benachrichtigung von mindestens 48 Stunden bereitstellen, damit das Cloud-Infrastruktur-Team genügend Zeit hat, Ressourcen zu mobilisieren und ein sicheres Upgrade durchzuführen.

Standard- und unterstützte Dienste

Die Cloud-Infrastruktur unterstützt und stellt die folgenden Dienste bereit:

Sie können Standardversionen und Festplattenwerte in der aktuellen, default services.yaml file. Das folgende Beispiel zeigt die mysql, redis, opensearch oder elasticsearch, und rabbitmq Dienste, die in services.yaml Konfigurationsdatei:

mysql:
    type: mysql:10.4
    disk: 5120

redis:
    type: redis:6.2

opensearch:
    type: opensearch:2  # minor version not required; uses latest
    disk: 1024

rabbitmq:
    type: rabbitmq:3.9
    disk: 1024

Dienstwerte

Sie müssen die Konfiguration der Dienst-ID und des Diensttyps angeben type: <name>:<version>. Wenn der Dienst persistenten Speicher verwendet, müssen Sie einen Festplattenwert angeben.

Verwenden Sie das folgende Format:

<service-id>:
    type: <name>:<version>
    disk: <value-MB>

service-id

Die service-id -Wert gibt den Dienst im Projekt an. Sie können nur alphanumerische Kleinbuchstaben verwenden: a nach z und 0 nach 9, beispielsweise redis.

Diese service-id -Wert wird in der relationships -Eigenschaft der .magento.app.yaml Konfigurationsdatei:

relationships:
    redis: "<name>:redis"

Sie können für jeden Diensttyp mehrere Instanzen benennen. Sie können beispielsweise mehrere Redis-Instanzen verwenden - eine für die Sitzung und eine für den Cache.

redis:
    type: redis:<version>

redis2:
    type: redis:<version>

Umbenennen eines Dienstes im services.yaml file permanent entfernen Folgendes:

  • Der vorhandene Dienst vor der Erstellung eines Dienstes mit dem von Ihnen angegebenen neuen Namen.
  • Alle vorhandenen Daten für den Dienst werden entfernt. Adobe empfiehlt dringend, dass Sie Sichern der Starterumgebung bevor Sie den Namen eines vorhandenen Dienstes ändern.

type

Die type -Wert gibt den Dienstnamen und die Version an. Beispiel:

mysql:
    type: mysql:10.4

disk

Die disk gibt die Größe des persistenten Festplattenspeichers (in MB) an, der dem Dienst zugeordnet werden soll. Dienste, die persistenten Speicher verwenden, wie MySQL, müssen einen Festplattenwert bereitstellen. Dienste, die Speicher anstelle von persistentem Speicher verwenden, wie z. B. Redis, benötigen keinen Festplattenwert.

mysql:
    type: mysql:10.4
    disk: 5120

Der aktuelle standardmäßige Speicherbetrag pro Projekt beträgt 5 GB oder 512 0 MB. Sie können diesen Betrag zwischen Ihrer Anwendung und den einzelnen Diensten verteilen.

Service-Beziehungen

In Adobe Commerce zu Cloud-Infrastrukturprojekten, Service Beziehungen in der .magento.app.yaml -Datei bestimmen, welche Dienste für Ihre Anwendung verfügbar sind.

Sie können die Konfigurationsdaten für alle Dienstbeziehungen aus der $MAGENTO_CLOUD_RELATIONSHIPS Umgebungsvariable. Die Konfigurationsdaten umfassen den Dienstnamen, den Typ und die Version sowie alle erforderlichen Verbindungsdetails wie die Portnummer und Anmeldedaten.

Überprüfen von Beziehungen in einer lokalen Umgebung:

  1. Zeigen Sie in Ihrer lokalen Umgebung die Beziehungen für die aktive Umgebung an.

    code language-bash
    magento-cloud relationships
    
  2. Bestätigen Sie die service und type aus der Antwort. Die Antwort enthält Informationen zur Verbindung, wie die IP-Adresse und die Portnummer.

    Abgekürzte Probenantwort

    code language-terminal
    redis:
        -
    ...
            type: 'redis:7.0'
            port: 6379
    elasticsearch:
        -
    ...
            type: 'opensearch:2'
            port: 9200
    database:
        -
    ...
            type: 'mysql:10.6'
            port: 3306
    

Überprüfen von Beziehungen in Remote-Umgebungen:

  1. Verwenden Sie SSH, um sich bei der Remote-Umgebung anzumelden.

  2. Auflisten der Daten zur Beziehungskonfiguration für alle in der Umgebung konfigurierten Dienste.

    code language-bash
    echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
    

    oder verwenden Sie Folgendes ece-tools Befehl zum Anzeigen von Beziehungen:

    code language-bash
    php ./vendor/bin/ece-tools env:config:show services
    
  3. Bestätigen Sie die service und type aus der Antwort. Die Antwort enthält Verbindungsinformationen, wie die IP-Adresse und die Portnummer sowie alle erforderlichen Benutzernamen- und Kennwortberechtigungen.

Dienstversionen

Die Service-Version und die Kompatibilitätsunterstützung für Adobe Commerce in der Cloud-Infrastruktur werden durch Versionen bestimmt, die in der Cloud-Infrastruktur bereitgestellt und getestet werden. Manchmal unterscheiden sie sich von den Versionen, die von lokalen Adobe Commerce-Implementierungen unterstützt werden. Siehe Systemanforderungen im Installation Anleitung für eine Liste von Softwareabhängigkeiten von Drittanbietern, die Adobe mit bestimmten Adobe Commerce- und Magento Open Source-Versionen getestet hat.

Software-EOL-Prüfungen

Während des Bereitstellungsprozesses wird die Variable ece-tools -Paket überprüft installierte Service-Versionen anhand des Lebenszyklusdatums (End of Life, EOL) für jeden Dienst.

  • Wenn eine Dienstversion innerhalb von drei Monaten nach dem Datum der Einstellung der Bereitstellung verfügbar ist, wird eine Benachrichtigung im Bereitstellungsprotokoll angezeigt.
  • Wenn das Datum der Einstellung "Ende"in der Vergangenheit liegt, wird eine Warnmeldung angezeigt.

Um die Speichersicherheit zu gewährleisten, aktualisieren Sie installierte Softwareversionen, bevor sie EOL erreichen. Sie können die EOL-Daten im Abschnitt ece-tools' eol.yaml file.

Zu OpenSearch migrieren

WARNING
Elasticsearch 7.11 und höher wird für Adobe Commerce in der Cloud-Infrastruktur nicht unterstützt. Adobe Commerce-Versionen 2.3.7-p3, 2.4.3-p2, 2.4.4 und höher unterstützen den OpenSearch-Dienst. Die Vor-Ort-Anlagen unterstützen weiterhin Elasticsearch.

Informationen zu Adobe Commerce-Version 2.4.4 und höher finden Sie unter Einrichten des OpenSearch-Dienstes.

Dienstversion ändern

Sie können die installierte Dienstversion aktualisieren, um die Kompatibilität mit der in Ihrer Cloud-Umgebung bereitgestellten Adobe Commerce-Version sicherzustellen.

Sie können die Dienstversion für einen installierten Dienst nicht direkt herunterstufen. Sie können jedoch einen Dienst mit der erforderlichen Version erstellen. Siehe Downgrade-Service-Version.

Upgrade der installierten Dienstversion

Sie können die installierte Dienstversion aktualisieren, indem Sie die Dienstkonfiguration im Abschnitt services.yaml -Datei.

  1. Ändern Sie die type -Wert für den Dienst im .magento/services.yaml Datei:

    Definition des ursprünglichen Dienstes

    code language-yaml
    mysql:
        type: mysql:10.3
        disk: 2048
    

    Aktualisierte Dienstdefinition

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    
  2. Fügen Sie Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie.

    code language-bash
    git add .magento/services.yaml
    
    code language-bash
    git commit -m "Upgrade MySQL from MariaDB 10.3 to 10.4."
    
    code language-bash
    git push origin <branch-name>
    

Downgrade-Version

Sie können einen installierten Dienst nicht direkt herunterladen. Sie haben zwei Optionen:

  1. Benennen Sie einen vorhandenen Dienst mit der neuen Version um, die den vorhandenen Dienst und die vorhandenen Daten entfernt und einen neuen hinzufügt.

  2. Erstellen Sie einen Dienst und speichern Sie die Daten aus dem vorhandenen Dienst.

Wenn Sie die Dienstversion ändern, müssen Sie die Dienstkonfiguration im services.yaml und aktualisieren Sie die Beziehungen in der .magento.app.yaml -Datei.

So aktualisieren Sie eine Dienstversion durch Umbenennen eines vorhandenen Dienstes:

  1. Benennen Sie den vorhandenen Dienst im .magento/services.yaml und ändern Sie die Version.

    note warning
    WARNING
    Durch die Umbenennung eines vorhandenen Dienstes wird dieser ersetzt und alle Daten gelöscht. Wenn Sie die Daten beibehalten müssen, erstellen Sie einen Dienst, anstatt den vorhandenen umzubenennen.

    So können Sie beispielsweise die MariaDB-Version für die mysql Dienst von Version 10.4 auf Version 10.3 ändern, die vorhandene service-id und type Konfiguration.

    Original services.yaml Definition

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    

    Neu services.yaml Definition

    code language-yaml
    mysql2:
         type: mysql:10.3
         disk: 5120
    
  2. Aktualisieren Sie die Beziehungen in der .magento.app.yaml -Datei.

    Original .magento.app.yaml Konfiguration

    code language-yaml
    relationships:
        database: "mysql:mysql"
    

    Aktualisiert .magento.app.yaml Konfiguration

    code language-yaml
    relationships:
        database: "mysql2:mysql"
    
  3. Fügen Sie Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie.

So aktualisieren Sie einen Dienst durch Erstellen eines Dienstes:

  1. Hinzufügen einer Dienstdefinition zum services.yaml -Datei für Ihr Projekt mit der heruntergestuften Versionsspezifikation. Siehe mysql2 im folgenden Beispiel:

    services.yaml

    code language-yaml
    mysql:
        type: mysql:10.4
        disk: 5120
    mysql2:
        type: mysql:10.3
        disk: 5120
    
  2. Ändern Sie die Beziehungskonfiguration in der .magento.app.yaml -Datei, um den neuen Dienst zu verwenden.

    Original .magento.app.yaml Konfiguration

    code language-yaml
    relationships:
        database: "mysql:mysql"
    

    Neu .magento.app.yaml Konfiguration

    code language-yaml
    relationships:
        database: "mysql2:mysql"
    
  3. Fügen Sie Code-Änderungen hinzu, übertragen Sie sie und übertragen Sie sie.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26