движок приложений google, как контролировать количество экземпляров nodejs

Я использую движок приложений Google с nodejs.
Я хочу ограничить количество экземпляров, используемых движком приложения. Я пробовал app.yaml перед развертыванием с помощью gcloud cli, но я думаю, что это не работает ...
Я установил файл app.yaml следующим образом

runtime: nodejs
vm: true
automatic_scaling:
  min_num_instances: 1
  max_num_instances: 3
  cool_down_period_sec: 120 # default value
  cpu_utilization:
    target_utilization: 0.7

Но на данный момент он использует 8 экземпляров.
Как я могу уменьшить количество экземпляров и контролировать их?

После запуска gcloud app versions list,

SERVICE  VERSION          TRAFFIC_SPLIT  LAST_DEPLOYED              SERVING_STATUS
default  20160811t015921  0.00           2016-08-11T02:03:24+09:00  SERVING
default  20160811t022251  0.00           2016-08-11T02:26:20+09:00  SERVING
default  20160811t023404  0.00           2016-08-11T02:36:45+09:00  STOPPED
default  20160811t031525  0.00           2016-08-11T03:17:48+09:00  STOPPED
default  20160811t053241  0.00           2016-08-11T05:35:19+09:00  STOPPED
default  20160817t191913  0.00           2016-08-17T19:21:46+09:00  STOPPED
default  20160817t220352  0.00           2016-08-17T22:06:17+09:00  STOPPED
default  20160818t171126  0.00           2016-08-18T17:14:07+09:00  STOPPED
default  20160820t000714  0.00           2016-08-20T00:10:16+09:00  STOPPED
default  20160820t033731  0.00           2016-08-20T03:39:45+09:00  STOPPED
default  20160821t023159  0.00           2016-08-21T02:34:05+09:00  STOPPED
default  20160821t025235  1.00           2016-08-21T02:55:13+09:00  SERVING

И после запуска gcloud app instances list,

SERVICE  VERSION          ID  VM_STATUS  DEBUG_MODE
default  20160811t015921  0   RUNNING
default  20160811t015921  1   RUNNING
default  20160811t022251  0   RUNNING
default  20160811t022251  1   RUNNING
default  20160811t022251  2   RUNNING
default  20160811t022251  3   RUNNING
default  20160811t022251  4   RUNNING
default  20160821t025235  0   RUNNING    YES

выходит.


person Chancellor Kim    schedule 25.08.2016    source источник
comment
Привет, я работаю в команде App Engine. Вы можете выполнить для меня несколько команд? gcloud app versions list ... затем gcloud app instances list   -  person Justin Beckwith    schedule 25.08.2016
comment
Я предполагаю, что вы развернули несколько версий своего приложения, и каждая из них создает новые экземпляры. Но это только предположение :)   -  person Justin Beckwith    schedule 25.08.2016
comment
Я добавил больше деталей и отредактировал вопрос. спасибо за помощь @JustinBeckwith   -  person Chancellor Kim    schedule 25.08.2016


Ответы (2)


Судя по выводам ваших команд, похоже, что у вас работает несколько версий вашего приложения. Каждая версия будет запускать (n) экземпляров в зависимости от нагрузки, даже если они не получают трафик.

Похоже, версия 20160821t025235 - это та, которую вы хотите продолжать. Попробуйте сделать это:

gcloud app versions stop 20160811t015921 20160811t022251

Если вы это сделаете, это должно остановить другие версии.

person Justin Beckwith    schedule 25.08.2016

Это известная проблема GAE, вы можете ее пометить: https://code.google.com/p/googleappengine/issues/detail?id=12363.

Несколько обходных решений предложены в теме или в ссылках на нее.

Один из них приводит к ответу, который, по-видимому, является хорошим способом устранения необходимости вручную останавливать и удалять нежелательные экземпляры: Как остановить создание дополнительных экземпляров при использовании vms, управляемой Google?

person Dan Cornilescu    schedule 25.08.2016
comment
спасибо ~ так что на данный момент это означает, что я должен останавливать экземпляры один за другим, превышающие мой максимальный лимит? - person Chancellor Kim; 25.08.2016
comment
да для уже созданных. См. Мой обновленный ответ, чтобы узнать, как избежать этого в будущем. - person Dan Cornilescu; 25.08.2016