在Web控制台中创建TCP负载均衡器时,我可以添加多个后端服务(参见下图)。我已经完成了所有工作,现在我正在尝试使用Cloud Deployment Manager复制它,但我无法弄清楚如何为TCP负载均衡器设置多个后端服务。
Cloud Deployment Manager ForwardingRule documentation似乎只允许一个target
。也许我只需要一个目标,而只需要将多个实例组管理器连接到一个目标池?
对我来说,问题是我的实例组管理器是由Kubernetes创建的,我没有看到将实例组管理器连接到目标池的方法,而没有重新定义实例组管理器。
如果未使用Deployment Manager创建实例组,是否可以将多个后端/实例组添加到转发规则中?
答案 0 :(得分:0)
首先,如果您正在创建一个使用Kubernetes的集群,并且您愿意通过单个入口点在节点中运行容器,则必须使用类型loadbalancer的create a service。
但是,对于Cloud Deployment Manager,也可以创建TCP负载均衡器,将流量重定向到多个后端。
为了检查所需的底层组件,我建议您通过开发人员控制台创建一个临时TCP负载均衡器,并从the advanced setting检查所有创建的组件。 事实证明,您需要创建一个指向TargetPool的ForwardingRule,该TargetPool在与其相连的同一区域中具有多个托管实例组。
因此,您需要为每个实例组修改托管实例组和set the target pool。 您可以使用以下YAML更新名为test的现有托管实例组:
resources:
- name: test
type: compute.v1.instanceGroupManager
properties:
zone: europe-west1-c
targetSize: 2
targetPools:
- https://www.googleapis.com/compute/v1/projects/<<projectID>>/regions/europe-west1/targetPools/mytargetpool
baseInstanceName: <<baseName>>
instanceTemplate: https://www.googleapis.com/compute/v1/projects/<<projectID>>/global/instanceTemplates/<<instanceTemplateName>>
每个托管实例组都需要一个类似的结构。
另一方面,您可以使用以下代码段创建Target pool:
resources:
- name: mytargetpool
type: compute.v1.targetPool
properties:
region: europe-west1