3

Балансировщик нагрузки HTTP в GCP имеет множество движущихся частей, таких как глобальные правила пересылки, целевые прокси, URL-карта, бэкэнд-услуги и группы экземпляров.Создание балансировщика нагрузки HTTP в облачной платформе Google

Поскольку мне сложно было настроить мой балансировщик нагрузки HTTP, я написал приведенный ниже ответ, который объединяет шаги для настройки балансировки нагрузки HTTP в GCP.

Этот вопрос является частью другого question's answer, который посвящен созданию автомасштабированного и сбалансированного по нагрузке бэкэнд.

ответ

5

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

Здесь архитектура HLB взят из GCP:

HTTP load balancer architecture

Как вы видели из приведенных выше архитектур, есть много двигающиеся части для настройки 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 о создании автомасштабированного, сбалансированного по нагрузке бэкэнд.