Autoscaling - это функция группа управляемого экземпляра в GCP. Это помогает обрабатывать очень высокий трафик, увеличивая количество экземпляров, и в то же время он также уменьшает количество случаев, когда нет трафика, что экономит много денег.
Чтобы настроить автомасштабирование, нам нужно следующее:
- шаблон Instance
- Управляемый Instance группа
- Автомасштабирование политика
- Health Check
шаблон Instance является чертеж, который определяет машинный тип, изображение, диски ho которые будут выполняться в группе автомасштабированных управляемых экземпляров. Я написал шаги для настройки шаблона экземпляра here.
Группа управляемых экземпляров помогает поддерживать группу однородных экземпляров, основанную на одном шаблоне экземпляра. Предполагая шаблон экземпляра как образец шаблона . Это может быть создан с помощью следующей команды в gcloud:
gcloud compute instance-groups managed \
create autoscale-managed-instance-group \
--base-instance-name autoscaled-instance \
--size 3 \
--template sample-template \
--region asia-northeast1
Приведенная выше команда создает управляемый экземпляр группу, содержащую 3 вычислительные двигатели, расположенные в трех различных зонах в Азии-northeast1 области, на основе образца-шаблона.
- базового имя-экземпляр будет базовым именем для всех автоматически создаваемых экземпляров. В дополнение к базовому имени каждое имя экземпляра будет добавлено уникально созданной случайной строкой.
- размер представляет собой желаемое количество экземпляров в группе. На данный момент три экземпляра будут работать постоянно, независимо от объема трафика, создаваемого приложением. Позже он может быть автомасштабирован путем применения политики к этой группе.
- регион (многозонный) или однозонный: управляемая группа экземпляров может быть либо настроена в регионе (многозонный), то есть однородные экземпляры будут равномерно распределены по всем зонам в данной области или всем экземпляры могут быть развернуты в одной зоне внутри региона. Он также может быть развернут как кросс-область, которая в настоящее время находится в альфа-режиме.
Политика автоисследования определяет поведение автоскалеров.Автоскаллер объединяет данные из экземпляров и сравнивает их с требуемой мощностью, как указано в политике, и определяет действие, которое необходимо предпринять. Есть много политики автоматического масштабирования как:
Средняя загрузка процессора
обслуживающей мощности балансировки нагрузки HTTP (запросы/второй)
Stackdriver стандартные и пользовательские метрики
и many more
Теперь, Представляя AutoScaling к этому управляемого экземпляра группы, выполнив следующую команду в gcloud:
gcloud compute instance-groups managed \
set-autoscaling \
autoscale-managed-instance-group \
--max-num-replicas 6 \
--min-num-replicas 2 \
--target-cpu-utilization 0.60 \
--cool-down-period 120 \
--region asia-northeast1
Приведенная выше команда настраивает autoscaler на основе загрузки процессора в диапазоне от (в случае нет трафика) до (в случае интенсивного движения).
- остывания-период флаг указывает количество секунд ожидания после того, как экземпляр был запущен до того, как связанный autoscaler начинает собирать информацию от него.
- Автосканер может быть связан максимум с 5 различных политик. В случае более чем одной политики Autoscaler рекомендует политику, которая уходит с максимальным количеством экземпляров.
- Интересный факт:, когда экземпляр развернут автоскалером, он гарантирует, что экземпляр запускается не менее 10 минут независимо от трафика. Это делается из-за того, что счеты GCP в течение как минимум десятиминутного времени работы для вычислительного двигателя. Он также защищает от неустойчивого поворота и закрытия экземпляров.
Лучшие практики: С моей точки зрения, лучше создать собственное изображение со всем вашим программным обеспечением, установленным чем использовать сценарий запуска. Поскольку время запуска новых экземпляров в группе автомасштабирования должно быть как можно меньше. Это увеличит скорость, с которой вы масштабируете свое веб-приложение.
Это часть 2 из 3-part series о создании автомасштабированного и сбалансированного по нагрузке бэкэнд.
Просто прочитайте мета об этих вопросах. Я согласен с вашим подходом - создавать отдельные вопросы и предлагать потенциально высококачественные ответы от других пользователей по конкретным вопросам. Однако, возможно, вы могли бы сформулировать эти вопросы, чтобы больше походить на вопросы? Например. «Как настроить группу управляемых экземпляров и автомасштабирование на платформе Google Cloud?». Вы могли бы даже включить немного контекста из исходного вопроса. Это может сделать вопрос более доступным для поиска и позволит людям отвечать на него без необходимости знать исходный контекст. –
@graham Я изменил вопрос в соответствии с вашим предложением. Вы хотите, чтобы я удалил ссылку «Этот вопрос является частью ответа другого вопроса» из вопроса? –