sma*_*kap 2 google-cloud-platform google-deployment-manager infrastructure-as-code gcp-load-balancer
我正在为由整体和微服务组成的 Web 应用程序实现 IaC。我想在所有微服务前面放置一个内部 HTTP 负载均衡器,但尚未找到任何示例。我查看了Cloud Foundation Toolkit。这里的内部负载均衡器仅支持 TCP/UDP 内部负载均衡器。谷歌的部署管理器样本根本没有提到它!目前,似乎唯一的选择就是从头开始构建 python 模板。
在我跳入那个兔子洞之前,想检查一下是否有可用的工作示例或示例。
根据一些Google文档,您只需要修改内部TCP LB模板中的一些值即可。
下面是regionBackendService内部TCP LB的示例代码。
{
'name': loadbalancer_name,
'type': 'compute.v1.regionBackendService',
'properties': {
'region': properties['region'],
'network': properties['network'],
'healthChecks': ['$(ref.' + healthcheck_name + '.selfLink)'],
'backends': properties['instance-groups'],
'protocol': 'TCP',
'loadBalancingScheme': 'INTERNAL',
}
}
Run Code Online (Sandbox Code Playgroud)
这是谷歌文档compute.v1.regionBackendService的参考。
协议
可能的值为 HTTP、HTTPS、HTTP2、TCP、SSL、UDP 或 GRPC。取决于所选的负载均衡器或 Traffic Director 配置。有关更多信息,请参阅负载均衡器或 Traffic Director 的文档。
负载均衡方案
选择 INTERNAL_MANAGED 作为内部 HTTP(S) 负载平衡。
所以你需要修改'protocol':'TCP'为'protocol':'HTTP'orHTTPS和'loadBalancingScheme': 'INTERNAL'to 'loadBalancingScheme': 'INTERNAL_MANAGED'。
下面是TCP内部LB代码的forwardingRule。
{
'name': forwardingrule_name,
'type': 'compute.v1.forwardingRule',
'properties': {
'ports': [80],
'network': properties['network'],
'subnetwork': properties['subnet'],
'region': properties['region'],
'backendService': '$(ref.' + loadbalancer_name + '.selfLink)',
'loadBalancingScheme': 'INTERNAL',
}
}
Run Code Online (Sandbox Code Playgroud)
您也可以找到有关此资源的参考资料。
负载均衡方案
INTERNAL_MANAGED 用于: 内部 HTTP(S) 负载平衡
IP协议
内部HTTP(S)负载均衡:负载均衡方案为INTERNAL_MANAGED,仅TCP有效。
因此,您需要将loadBalancingScheme值从修改INTERNAL为INTERNAL_MANAGED。或者您可能需要将 IPProtocol 值添加到您的转发规则中。
最后,下面是 TCP 内部 LB 代码的健康检查。
{
'name': healthcheck_name,
'type': 'compute.v1.healthCheck',
'properties': {
'type': 'TCP',
'tcpHealthCheck': {
'port': 80
},
}
}
Run Code Online (Sandbox Code Playgroud)
正如我在文档中发现的,对于 http(s) 内部 LB,您必须使用“ regionhealthcheck ”而不是“healthcheck”。
所以需要修改资源类型为compute.v1.regionHealthChecks
我不太确定我的描述,但是您可以通过参考 Google 文档和示例代码来创建自己的 HTTP(S) 内部 LB。
| 归档时间: |
|
| 查看次数: |
352 次 |
| 最近记录: |