Сначала GCP предлагает два типа балансировщика нагрузки, а именно балансировщики нагрузки сети и HTTP (ы). Вы можете найти различия между Network Vs HTTP (s) load balancerhere. С этого момента я буду звонить загрузчик нагрузки HTTP как HLB (coz слишком длинный).
Здесь архитектура HLB взят из GCP:

Как вы видели из приведенных выше архитектур, есть много двигающиеся части для настройки HLB. Теперь мы собираемся построить его с обратной стороны, начиная с шаблона Instance, группы Instance до правил пересылки.
1. Шаблон экземпляра: Хотя шаблон экземпляра не требуется для настройки HLB, так как вы можете использовать даже неуправляемую группу экземпляров и присоединить ее к HLB. Я предпочитаю иметь шаблон экземпляра и группу управляемых экземпляров, так что функция автомасштабирования также может быть добавлена для группы однородных экземпляров. Я написал шаги для создания шаблона экземпляра here.
Lets assume the instance template to be sample-template.
2. Управляемый Instance Группа: Пожалуйста, пройдите шаги для создания управляемого экземпляра группы и автомасштабированиеhere. Автомасштабирование и балансировка нагрузки не зависят друг от друга. Оба предлагают проверку здоровья. С моей точки зрения, настройка проверки работоспособности как для балансировщика нагрузки, так и для автомасштаба является избыточной, и я думаю, что проверка работоспособности только для балансировки нагрузки будет хорошей.
Lets assume the managed instance group to be autoscale-managed-instance group, which is autoscaled and created based on sample-template.
3. Служба Endpoint: Вам необходимо указать конечную точку службы, которая будет использоваться ГЛБ. Команда для настройки конечной точки службы в gcloud:
gcloud compute instance-groups managed \
set-named-ports \
autoscale-managed-instance group \
--named-ports http:80 \
--region asia-northeast1
выше команда создает конечную точку службы в экземпляре группы, которая помогает ГЛБУ общаться с однородными экземплярами в группе.
4. Проверка работоспособности: Это необходимо, чтобы гарантировать, что HLB направляет трафик только в здоровые экземпляры. Команда для создания проверки работоспособности:
gcloud compute http-health-checks create sample-health-check
5. Backend услуги: Этой служба осуществляет маршрутизацию трафик для всех экземпляров серверных то есть экземпляры в группе экземпляров.Он также связывает проверку работоспособности экземпляров и позволяет маршрутизировать трафик только на здоровые экземпляры. Команда для создания службы бэкэнда:
gcloud compute backend-services create \
sample-backend-service \
--http-health-checks sample-health-check
выше команда создает сервис бэкэнд и сам партнеров к проверке здоровья, созданной на предыдущем шаге. Теперь, добавив группу экземпляра к службе серверной, выполнив следующую команду:
gcloud compute backend-services add-backend sample-backend-service \
--instance-group \
sample-managed-instance-group \
--balancing-mode RATE \
--max-rate-per-instance 100 \
--instance-group-region asia-northeast1
Приведенная выше команда подключает группу экземпляра бакэнду-службы, а также распределить нагрузку на основании количества запросов с использованием balancing- режим флаг. max-rate-per-instance используется автоскалером, если вы установили политику автоскалера на основе использования балансировки нагрузки.
6. URL-карта: Создание карты URL-адресов, которая отображает URL-адрес HTTP-запроса в вашу внутреннюю службу. Команда для создания карты URL:
gcloud compute url-maps create sample-map \
--default-service sample-backend-service
При выборе Content на основе балансировки нагрузки, вам нужно добавить много записей в картах URL, так что он направляет запрос в соответствующие службы бэкэнда.
7. Целевой HTTP-прокси: Этот шаг связывает целевой прокси с картой URL. Команда для создания целевого HTTP-прокси:
gcloud compute target-http-proxies \
create sample-target-proxy \
--url-map sample-map
8. правила переадресации: Это последний шаг, который дает глобальный IP-адрес внешнего к HLB.
gcloud compute forwarding-rules \
create sample-forward \
--global \
--ports 80 \
--target-http-proxy sample-target-proxy
Теперь доступ к IP-адресу HLB в браузере дает веб-страницу, обслуживаемую экземплярами в группе экземпляров. Это, наконец, устанавливает высоко масштабируемое веб-приложение, которое автоматически масштабируется и балансируется.
Это часть 3 из 3-part series о создании автомасштабированного, сбалансированного по нагрузке бэкэнд.