Configurazione dell'app con app.yaml

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

Circa app.yaml file

Puoi specificare la configurazione di runtime per la tua app Java, inclusi versioni e URL, nel file app.yaml. Questo file agisce come descrittore di deployment di una specifica versione di servizio.

Devi creare il file app.yaml per il servizio default della tua app prima di poter creare i file app.yaml ed eseguirne il deployment per i servizi aggiuntivi.

La seguente app.yaml illustra come configurare l'app per le versioni Java 8, 11, 17 e successive. Tieni presente che devi aggiornare il file app.yaml per utilizzare la nuova versione. Consulta Runtime Java per ulteriori informazioni sull'utilizzo delle nuove versioni.

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 della tua app, potrebbe essere necessario definire solo alcuni elementi nel file app.yaml corrispondente. L'esempio seguente mostra cosa potrebbe richiedere una semplice app Java nell'ambiente flessibile:

Puoi specificare un nome univoco per i tuoi file app.yaml, ma devi specificare anche il nome del file con il comando di deployment. Ad esempio, se il nome del file app.yaml è 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, vedi 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 app.yaml.

Attivazione della raccolta di metriche Java Virtual Machine

Puoi configurare l'ambiente flessibile di App Engine per Java in modo da raccogliere metriche comuni per i processi 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 le seguenti proprietà di sistema JMX nelle variabili di ambiente di 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"