Меня немного сбивает с толку то, как Google Cloud Auto Scaler, Managed Instance Group, Target Pools и Network Load Balancers работают вместе. Документация немного скудна, и нет явной связи между тем, как использовать NLB (нам это нужно, так как нам нужен HTTPS, поэтому текущий Http Load Balancer его не сокращает) и Auto Scaler. Я думаю, что основным вариантом использования Auto Scaler будет управление экземплярами за NLB.
Проблема 1: не похоже, что после того, как мы назначаем целевой пул управляемой группе экземпляров (через [set-target-pool] [1]), уже существующие экземпляры назначаются этому целевому пулу (может быть, наша ошибка) .
Проблема 2: не похоже, что экземпляры управляемых групп попадают в ротацию на NLB, если у них нет общедоступного (хотя и эфемерного) IP. Может быть, мы снова ошиблись, но разве частного IP не должно хватить?
Проблема 3: если экземпляр в управляемой группе экземпляров становится неработоспособным (скажем ... он перестает отвечать на HTTP), NLB удаляет его из ротации (через проверку работоспособности), но кажется, что Auto Scaler остается довольным и считает его исправным. допустимый работающий экземпляр.
Что нам не хватает?
Балансировка нагрузки HTTPS - это теперь доступно в альфа-версии и теперь может представлять для вас лучшее решение.
Проблема 1: Менеджер группы экземпляров ожидает, что его группы будут полностью однородными. Поэтому когда группа управляемых экземпляров настроен на добавление экземпляров в целевой пул, поэтому естественно добавлять существующие, а также будущие. Если вам нужно разделить так, чтобы некоторые экземпляры добавлялись в целевой пул, а некоторые - нет, вам следует разделить группы экземпляров.
Проблема 2. Балансировку сетевой нагрузки можно использовать только с экземплярами, имеющими частные IP-адреса. Однако правило переадресации должно иметь внешний IP-адрес.
Проблема 3. Вы правы, Autoscaler не выполняет проверки работоспособности и не уничтожает автоматически экземпляр, не прошедший проверки работоспособности балансировки нагрузки. Если вы хотите это сейчас, сделайте это вручную (я рекомендую использовать вызов «воссоздать» диспетчера групп экземпляров).