Konfigurera tjänster
Filen services.yaml
definierar de tjänster som stöds och används av Adobe Commerce i molninfrastrukturen, till exempel MySQL, Redis och Elasticsearch eller OpenSearch. Du behöver inte prenumerera på externa tjänsteleverantörer.
.magento/services.yaml
hanteras lokalt i katalogen .magento
i ditt projekt. Konfigurationen nås under byggprocessen för att endast definiera de tjänstversioner som krävs i integreringsmiljön och tas bort när distributionen har slutförts, så du kommer inte att hitta dem på servern.Distributionsskriptet använder konfigurationsfilerna i katalogen .magento
för att etablera miljön med de konfigurerade tjänsterna. En tjänst blir tillgänglig för ditt program om den ingår i egenskapen relationships
för filen .magento.app.yaml
. Filen services.yaml
innehåller värdena type och disk. Tjänsttypen definierar tjänsten name och version.
Om du ändrar en tjänstkonfiguration tillhandahålls miljön med de uppdaterade tjänsterna, vilket påverkar följande miljöer:
- Alla startmiljöer inklusive produktion
master
- Integreringsmiljöer för Pro
Staging
- och Production
-miljöer..magento.app.yaml
- och services.yaml
-filer och ange PHP-versionen i biljetten. Om du vill göra ändringar i PHP-version, tillägg eller miljöinställningar för självbetjäning läser du PHP-inställningar i Programkonfiguration.Standardtjänster och tjänster som stöds
Molninfrastrukturen stöder och distribuerar följande tjänster:
Du kan visa standardversioner och diskvärden i den aktuella standardfilen services.yaml
. I följande exempel visas tjänsterna mysql
, redis
, opensearch
eller elasticsearch
och rabbitmq
som definieras i konfigurationsfilen services.yaml
:
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
Tjänstvärden
Du måste ange tjänst-ID och tjänsttypskonfigurationen type: <name>:<version>
. Om tjänsten använder beständig lagring måste du ange ett diskvärde.
Använd följande format:
<service-id>:
type: <name>:<version>
disk: <value-MB>
service-id
Värdet service-id
identifierar tjänsten i projektet. Du kan bara använda alfanumeriska gemener: a
till z
och 0
till 9
, till exempel redis
.
Det här service-id-värdet används i relationships
-egenskapen i konfigurationsfilen .magento.app.yaml
:
relationships:
redis: "<name>:redis"
Du kan namnge flera instanser av varje tjänsttyp. Du kan till exempel använda flera Redis-instanser - en för en session och en för cache.
redis:
type: redis:<version>
redis2:
type: redis:<version>
Om du byter namn på en tjänst i services.yaml
-filen tas följande bort permanent:
- Den befintliga tjänsten innan du skapar en tjänst med det nya namn du anger.
- Alla befintliga data för tjänsten tas bort. Adobe rekommenderar att du säkerhetskopierar startmiljön innan du ändrar namnet på en befintlig tjänst.
type
Värdet type
anger tjänstens namn och version. Exempel:
mysql:
type: mysql:10.4
disk
Värdet disk
anger storleken på den beständiga disklagringen (i MB) som ska allokeras till tjänsten. Tjänster som använder beständig lagring, till exempel MySQL, måste ange ett diskvärde. Tjänster som använder minne i stället för beständig lagring, som Redis, kräver inget diskvärde.
mysql:
type: mysql:10.4
disk: 5120
Det aktuella standardlagringsutrymmet per projekt är 5 GB eller 512 MB. Du kan distribuera det här beloppet mellan programmet och var och en av dess tjänster.
Servicerelationer
I Adobe Commerce för molninfrastrukturprojekt avgör tjänsten relationer som konfigurerats i filen .magento.app.yaml
vilka tjänster som är tillgängliga för ditt program.
Du kan hämta konfigurationsdata för alla tjänstrelationer från miljövariabeln $MAGENTO_CLOUD_RELATIONSHIPS
. Konfigurationsdata innehåller tjänstnamn, typ och version tillsammans med all nödvändig anslutningsinformation, t.ex. portnummer och inloggningsuppgifter.
Så här verifierar du relationer i den lokala miljön:
-
Visa relationerna för den aktiva miljön i din lokala miljö.
code language-bash magento-cloud relationships
-
Bekräfta
service
ochtype
från svaret. Svaret ger anslutningsinformation, t.ex. IP-adress och portnummer.Förkortat provsvar
code language-yaml redis: - ... type: 'redis:7.0' port: 6379 elasticsearch: - ... type: 'opensearch:2' port: 9200 database: - ... type: 'mysql:10.6' port: 3306
Så här verifierar du relationer i fjärrmiljöer:
-
Använd SSH för att logga in i fjärrmiljön.
-
Visa konfigurationsdata för relationer för alla tjänster som konfigurerats i miljön.
code language-bash echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
eller använd följande
ece-tools
-kommando för att visa relationer:code language-bash php ./vendor/bin/ece-tools env:config:show services
-
Bekräfta
service
ochtype
från svaret. Svaret innehåller anslutningsinformation, t.ex. IP-adress och portnummer samt eventuella inloggningsuppgifter för användarnamn och lösenord.
Tjänstversioner
Tjänstversion och kompatibilitetsstöd för Adobe Commerce i molninfrastruktur avgörs av vilka versioner som distribueras och testas i molninfrastrukturen, och skiljer sig ibland från de versioner som stöds av Adobe Commerce lokala distributioner. Se Systemkrav i installationshandboken för en lista över tredjepartsprogramvaruberoenden som Adobe har testat med specifika versioner av Adobe Commerce och Magento Open Source.
EOL-kontroller för programvara
Under distributionsprocessen kontrollerar paketet ece-tools
installerade tjänstversioner mot slutdatum (EOL) för varje tjänst.
- Om en tjänstversion är inom tre månader från EOL-datumet visas ett meddelande i distributionsloggen.
- Om EOL-datumet redan har infallit visas ett varningsmeddelande.
För att upprätthålla säkerheten måste du uppdatera de installerade programversionerna innan de når EOL. Du kan granska EOL-datum i ece-tools' eol.yaml
file.
Migrera till OpenSearch
Information om Adobe Commerce version 2.4.4 och senare finns i Konfigurera OpenSearch-tjänsten.
Ändra tjänstversion
Du kan uppgradera den installerade tjänstversionen för kompatibilitet med den Adobe Commerce-version som är distribuerad i din molnmiljö.
Du kan inte nedgradera tjänstversionen för en installerad tjänst direkt. Du kan dock skapa en tjänst med den version som krävs. Se Nedgradera tjänstversion.
Uppgradera installerad tjänstversion
Du kan uppgradera den installerade tjänstversionen genom att uppdatera tjänstkonfigurationen i filen services.yaml
.
-
Ändra värdet
type
för tjänsten i filen.magento/services.yaml
:Ursprunglig tjänstdefinition
code language-yaml mysql: type: mysql:10.3 disk: 2048
Uppdaterad tjänstdefinition
code language-yaml mysql: type: mysql:10.4 disk: 5120
-
Lägg till, implementera och push-överföra kodändringar.
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>
Nedgraderingsversion
Du kan inte nedgradera en installerad tjänst direkt. Du har två alternativ:
-
Byt namn på en befintlig tjänst till den nya versionen, som tar bort den befintliga tjänsten och data, och lägger till en ny.
-
Skapa en tjänst och spara data från den befintliga tjänsten.
När du ändrar tjänstversionen måste du uppdatera tjänstkonfigurationen i filen services.yaml
och uppdatera relationerna i filen .magento.app.yaml
.
Så här nedgraderar du en tjänstversion genom att byta namn på en befintlig tjänst:
-
Byt namn på den befintliga tjänsten i filen
.magento/services.yaml
och ändra versionen.note warning WARNING Om du byter namn på en befintlig tjänst ersätts den och alla data tas bort. Om du behöver behålla data skapar du en tjänst i stället för att byta namn på den befintliga. Om du till exempel vill nedgradera MariaDB-versionen för tjänsten mysql från version 10.4 till 10.3 ändrar du den befintliga konfigurationen för service-id och typ .
Ursprunglig
services.yaml
-definitioncode language-yaml mysql: type: mysql:10.4 disk: 5120
Ny
services.yaml
-definitioncode language-yaml mysql2: type: mysql:10.3 disk: 5120
-
Uppdatera relationerna i filen
.magento.app.yaml
.Ursprunglig
.magento.app.yaml
-konfigurationcode language-yaml relationships: database: "mysql:mysql"
Uppdaterad
.magento.app.yaml
-konfigurationcode language-yaml relationships: database: "mysql2:mysql"
-
Lägg till, implementera och push-överföra kodändringar.
Så här nedgraderar du en tjänst genom att skapa en tjänst:
-
Lägg till en tjänstdefinition i filen
services.yaml
för ditt projekt med den nedgraderade versionsspecifikationen. Se mysql2 i följande exempel:services.yaml
code language-yaml mysql: type: mysql:10.4 disk: 5120 mysql2: type: mysql:10.3 disk: 5120
-
Ändra relationskonfigurationen i filen
.magento.app.yaml
om du vill använda den nya tjänsten.Ursprunglig
.magento.app.yaml
-konfigurationcode language-yaml relationships: database: "mysql:mysql"
Ny
.magento.app.yaml
-konfigurationcode language-yaml relationships: database: "mysql2:mysql"
-
Lägg till, implementera och push-överföra kodändringar.