Search code examples
javaspring-bootgoogle-app-enginegoogle-cloud-platformapp-engine-flexible

Why deploying a spring boot (Java) application to Googles App Engine gives error for both Flexible and Standard environment?


It is a Spring boot Java application using Maven. I am using Intelij for developement.

I am availing $300 as I got by default from GCP and using it.

For a flexible environment, the app.yaml configuration is

runtime: java
env: flex

Error as below: The requested amount of instances has exceeded GCE's default quota

[INFO] GCLOUD: ERROR: (gcloud.app.deploy) Error Response: [8] Flex operation projects/dqnews/regions/asia-south1/operations/c9221a49-6939-4778-88a8-01f73f444cce error [RESOURCE_EXHAUSTED]: An internal error occurred while processing task /app-engine-flex/insert_flex_deployment/flex_create_resources>2020-11-23T13:30:57.284Z11582.fw.0: The requested amount of instances has exceeded GCE's default quota. Please see https://cloud.google.com/compute/quotas for more information on GCE resources

When I using a Standard enviorment

runtime: java
env: standard

The Error showing as below

Java 6 applications are prevented from being deployed to Google App Engine from any version of the SDK, including older ones. If you need to continue to deploy Java 6 applications for compatibility reasons, you can request that your application be whitelisted for Java 6 deployment by visiting

Here is the links for Quotas:free quotes

It would be great to get help in detail.

  1. If I need to increase my quotes, how and which component to be increased ?
  2. What will be the app.yaml configuration for standard/flexible, if I have mentioned wrong?
  3. Why Java 6 Error is coming ?

Solution

  • In GAE there are two possible Java versions:

    https://cloud.google.com/appengine/docs/java

    In your app.yaml you can set:

    service: demo
    runtime: java11
    instance_class: F1
    

    And then in your app.yaml path:

    gcloud init
    gcloud components install app-engine-java