app.yaml не обновляется при развертывании (движок Google App / Google Cloud Platform)

Это мое приложение по умолчанию. yaml file:

runtime: custom
env: flex
service: api

runtime_config:
   jdk: openjdk8

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

automatic_scaling:
  min_num_instances: 1
  max_num_instances: 10

Когда я развертываю с обновленным файлом app.yaml, файл просто сбрасывается до предыдущего значения по умолчанию. Это то, что я пробую:

runtime: custom
env: flex
service: api

runtime_config:
   jdk: openjdk8

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

automatic_scaling:
  max_num_instances: 1

resources:
  core: 1

ОБНОВЛЕНО НИЖЕ:

Хорошо, теперь у меня есть это, чтобы работать. Похоже, что у api-service было два файла app.yaml, и мне пришлось изменить оба. Теперь у него есть конфигурация в веб-интерфейсе GCP, которая выглядит как та, что я развернул: минимум 1 и максимум 3. НО, даже в этом случае, он иногда создает 4-5 экземпляров. : S

ТЕПЕРЬ в моем другом приложении, планировщике, это то, что я поместил в файл 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

А вот скриншот результата:

enter image description here

Очень запутанно.

1
задан 23 March 2018 в 19:19
1 ответ

Есть несколько вариантов, смешанных из конфигураций для двух разных сред выполнения.

Каждый параметр для времени выполнения: пользовательский описан в , здесь . обработчики: и runtime_config: не упоминаются для настраиваемой среды выполнения, потому что они являются частью среды выполнения Java здесь .

core: 1 не не существует ни в одной из ранее упомянутых конфигураций и Я подозреваю, что вы хотели использовать вместо него cpu: 1 , который можно использовать в обеих конфигурациях. Кроме того, при попытке развернуть второй app.yaml я получаю сообщение об ошибке о том, что core: не существует, поэтому вашу конфигурацию не следует развертывать в первую очередь.

] Обновлено:

В статье, описывающей управление экземплярами и упоминается, что

Вам будет выставлен счет только за бездействующие экземпляры в пределах максимального количества бездействующих экземпляров, которое вы установили для каждой службы.

Что подразумевает что в какой-то момент у вас может быть больше простаивающих экземпляров, чем вы установили как максимум, но они не будут выставляться счет. И рисунок на этом изображении подтверждает это утверждение.

1
ответ дан 3 December 2019 в 23:19

Теги

Похожие вопросы