在Google Cloud Platform中创建HTTP负载均衡器

Lak*_*kar 5 load-balancing google-compute-engine google-cloud-platform

GCP中的HTTP负载均衡器具有许多移动部分,如全局转发规则,目标代理,URL映射,后端服务和实例组.

由于我发现设置HTTP负载均衡器很困难,因此我编写了以下答案,汇总了在GCP中设置HTTP负载均衡器的步骤.

这个问题是另一个问题答案的一部分,它是关于构建一个自动调整和负载均衡的后端.

Lak*_*kar 14

起初,GCP提供两种类型的负载均衡器,即网络和HTTP(s)负载均衡器.您可以在此处找到Network Vs HTTP(s)负载均衡器 之间的差异.从这一点来说,我将调用HTTP负载均衡器作为HLB(因为它太长).

以下是从GCP获取的HLB架构:

HTTP负载均衡器架构

正如您从上述架构中看到的那样,有很多用于设置HLB的移动部件.现在,我们将从实例模板,实例组到转发规则从后向构建它.

1.实例模板:虽然设置HLB不需要实例模板,因为您甚至可以使用非托管实例组并将其与HLB连接.我更喜欢具有实例模板和托管实例组,因此也可以为同类实例组添加自动缩放功能.我写的步骤创建一个实例模板 这里.

Lets assume the instance template to be sample-template.
Run Code Online (Sandbox Code Playgroud)

2.托管实例组:在此处完成创建托管实例组和自动扩展 的步骤.自动调节和负载平衡彼此独立.两者都提供健康检查.从我的角度来看,为负载均衡器和自动扩展设置运行状况检查是多余的,我认为仅负载均衡器的运行状况检查就可以了.

Lets assume the managed instance group to be autoscale-managed-instance group, which is autoscaled and created based on sample-template.
Run Code Online (Sandbox Code Playgroud)

3.服务端点:您需要指定HLB将使用的服务端点.在gcloud中设置服务端点的命令:

gcloud compute instance-groups managed \
set-named-ports \
autoscale-managed-instance group \
--named-ports http:80 \
--region asia-northeast1
Run Code Online (Sandbox Code Playgroud)

以上命令在实例组中创建服务端点,以帮助HLB与组中的同类实例进行通信.

4.健康检查:这是必不可少的,以确保HLB仅将流量路由到健康的实例.用于创建运行状况检查的命令:

gcloud compute http-health-checks create sample-health-check
Run Code Online (Sandbox Code Playgroud)

5.后端服务:此服务将流量路由到所有后端实例,即实例组中的实例.它还关联实例的运行状况检查,并确保它仅将流量路由到健康实例.用于创建后端服务的命令:

gcloud compute backend-services create \
sample-backend-service \
--http-health-checks sample-health-check
Run Code Online (Sandbox Code Playgroud)

上述命令创建后端服务并将其自身与上一步创建的运行状况检查关联.现在,通过运行以下命令将实例组添加到后端服务:

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
Run Code Online (Sandbox Code Playgroud)

上面的命令将实例组附加到后端服务,并根据使用balance-mode标志的请求数来分散负载.如果您已根据负载均衡器利用率设置了自动缩放器策略,则自动缩放器将使用max-rate-per-instance.

6. URL映射:创建将HTTP请求URL映射到后端服务的URL映射.用于创建URL映射的命令:

gcloud compute url-maps create sample-map \
--default-service sample-backend-service
Run Code Online (Sandbox Code Playgroud)

选择基于内容的负载均衡器时,需要在URL映射中添加许多条目,以便将请求路由到适当的后端服务.

7.目标HTTP代理:此步骤将目标代理与URL映射相关联.用于创建目标HTTP代理的命令:

gcloud compute target-http-proxies \
create sample-target-proxy \
--url-map sample-map
Run Code Online (Sandbox Code Playgroud)

8.转发规则:这是向HLB提供全局外部IP地址的最后一步.

gcloud compute forwarding-rules \
create sample-forward \
--global \
--ports 80 \
--target-http-proxy sample-target-proxy
Run Code Online (Sandbox Code Playgroud)

现在,在浏览器中访问HLB的IP地址,可以为实例组中的实例提供服务的Web页面.这最终建立了一个高度可扩展的Web应用程序,它既可以自动调整,也可以进行负载平衡.

这是第3部分3部分组成的系列关于建立一个自动定,负载平衡后端.


归档时间:

查看次数:

3557 次

最近记录:

9 年,1 月 前