Java

部署時 app.yaml 未更新(Google App Engine、Java)

  • March 23, 2018

這是我放在app.yaml文件中的內容:

runtime: java8
service: 'scheduler'
inbound_services:
- warmup
derived_file_type:
- java_precompiled
threadsafe: True
auto_id_policy: default
api_version: '1.0'
handlers:
- url: (/.*)
 static_files: __static__\1
 upload: __NOT_USED__
 require_matching_file: True
 login: optional
 secure: optional
- url: /
 script: unused
 login: optional
 secure: optional
- url: /.*/
 script: unused
 login: optional
 secure: optional
- url: /_ah/.*
 script: unused
 login: optional
 secure: optional
- url: /cron/v1/simulations
 script: unused
 login: optional
 secure: optional
resources:
 cpu: 1
 memory_gb: 1
 disk_size_gb: 1
 volumes:
 - name: ramdisk1
   volume_type: tmpfs
   size_gb: 0.5
automatic_scaling:
 min_num_instances: 1
 max_num_instances: 2
 cool_down_period_sec: 180
 cpu_utilization:
   target_utilization: 0.6

部署後,在 GCP 上,它的配置如下所示:

runtime: java8
api_version: '1.0'
env: standard
threadsafe: true
instance_class: F1
inbound_services:
 - warmup
handlers:
 - url: '(/.*)'
   application_readable: false
   static_files: "__static__\\1"
   require_matching_file: true
   upload: __NOT_USED__
 - url: /
   script: unused
 - url: '/.*/'
   script: unused
 - url: '/_ah/.*'
   script: unused
 - url: /cron/v1/simulations
   script: unused
automatic_scaling:
 min_idle_instances: automatic
 max_idle_instances: automatic
 min_pending_latency: automatic
 max_pending_latency: automatic

這是結果的螢幕截圖:

在此處輸入圖像描述

我確實嘗試更改min_num_instances: 1and max_num_instances: 2min_idle_instances: 1 max_idle_instances: 2但沒有不同的結果。

它創建的實例比我需要的多得多,而且自從我注意到這些變化以來,賬單總額已經增加了三倍。很混亂。

所以簡單的解決方案是,我應該為標準環境編輯的不是 app.yaml,而是 appengine-web.xml。

現在我又完全控制了,看來!

我還刪除了舊服務(我認為它們沒有執行,因為它們看起來好像沒有打開?看到它們顯示為 0%…)。我了解到,有時 GAE 不會自行縮小。

引用自:https://serverfault.com/questions/900852