Configurare l'app con app.yaml

Un'app di App Engine viene configurata utilizzando un app.yaml file contenente CPU, memoria, risorse di rete e disco, scalabilità e altre impostazioni generali, tra cui le variabili di ambiente. Puoi selezionare qualsiasi nuova versione di Java 11 o versioni successive oppure utilizza le versioni precedenti di Eclipse Jetty 9.3 o Java 8. Per Eclipse Jetty 9.3 e Java 8, è possibile utilizzare Maven o Gradle.

Circa app.yaml file

Puoi specificare la configurazione di runtime per la tua app Java, incluse le versioni e gli URL, nel file app.yaml. Questo file funge da descrittore di deployment di una specifica versione del servizio.

Devi prima creare il file app.yaml per il servizio default della tua app prima di poter creare e implementare file app.yaml per servizi aggiuntivi.

Il seguente app.yaml mostra come configurare la tua app per Java 8, 11, 17 e successive. Tieni presente che devi aggiornare il file app.yaml per utilizzare la nuova versione. Per ulteriori informazioni sull'utilizzo delle nuove versioni, consulta la sezione relativa al runtime Java.

versione 17 e successive

runtime: java
env: flex
runtime_config:
operating_system: "ubuntu22"
runtime_version: "21"
handlers:
- url: /.*
script: this field is required, but ignored

manual_scaling:
instances: 1

versione 11

runtime: java
env: flex
runtime_config:
operating_system: "ubuntu18"
runtime_version: "11"
handlers:
- url: /.*
script: this field is required, but ignored

manual_scaling:
instances: 1

versione 8

runtime: java
env: flex

handlers:
- url: /.*
  script: this field is required, but ignored

A seconda della complessità del servizio dell'app, potrebbe essere necessario definire solo alcuni elementi nel file app.yaml corrispondente. L'esempio seguente dimostra ciò che potrebbe essere richiesto da una semplice app Java nell'ambiente flessibile:

Puoi specificare un nome univoco per i tuoi file app.yaml, ma poi devi specifica il nome del file con la deployment comando . Ad esempio, se assegni al file app.yaml il nome service-name-app.yaml o app.flexible.yaml, devi eseguire il deployment dell'app utilizzando:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
Per scoprire di più sulla strutturazione di più servizi e file app.yaml nella tua app, consulta la sezione Strutturare i servizi web.

Tutti gli elementi di configurazione

Per un elenco completo di tutti gli elementi supportati in questo file di configurazione, consulta la documentazione di riferimento di app.yaml.

Attivazione della raccolta delle metriche della Java Virtual Machine

Puoi configurare l'ambiente flessibile di App Engine per Java in modo da raccogliere metriche comuni per i processi della JVM (Java Virtual Machine). Le metriche vengono raccolte utilizzando lo stesso plug-in di monitoraggio JVM utilizzato da Cloud Monitoring. Per visualizzare l'elenco completo delle metriche per App Engine, consulta la guida alle metriche di Google Cloud.

Se vuoi raccogliere queste metriche JVM per la tua app:

  • appengine.googleapis.com/flex/instance/jvm/gc/count
  • appengine.googleapis.com/flex/instance/jvm/gc/time

devi impostare quanto segue Sistema JMX nelle variabili di ambiente in app.yaml ed eseguire il deployment dell'app.

JAVA_USER_OPTS: "-Djava.rmi.server.hostname=172.17.0.1 -Dcom.sun.management.jmxremote.port=10403 -
Dcom.sun.management.jmxremote.rmi.port=10403 -Dcom.sun.management.jmxremote.local.only=false -
Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"