
Я нахожу немного запутанным то, как 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 остается довольным и считает его допустимым работающим экземпляром.
Чего нам не хватает?
решение1
Балансировка нагрузки HTTPSтеперь доступно в альфа-версиии теперь может представлять для вас наилучшее решение.
Проблема 1: Менеджер групп экземпляров ожидает, что его группы будут полностью однородными. Поэтому, когдауправляемая группа экземпляровнастроен на добавление своих экземпляров в целевой пул, то естественно, что он добавляет как существующие, так и будущие. Если вам нужно разделить так, чтобы некоторые экземпляры были добавлены в целевой пул, а некоторые — нет, вам следует разделить группы экземпляров.
Проблема 2: Можно использовать балансировку сетевой нагрузки с экземплярами, имеющими только частные IP-адреса. Однако правило переадресации должно иметь внешний IP-адрес.
Проблема 3: Вы правы, Autoscaler не выполняет проверки работоспособности и не будет автоматически уничтожать экземпляр, который не проходит проверки работоспособности балансировки нагрузки. Если вы хотите сделать это сейчас, вы сделаете это вручную (я рекомендую использовать вызов Instance Group Manager "recreate").