在web控制台中创建TCP负载均衡器时,我可以添加多个后端服务(见下图)。我已经做好了所有的工作,现在我正在尝试用Cloud Deployment Manager复制它,但我不知道如何将多个后端服务设置为TCP负载均衡器。
Cloud Deployment Manager ForwardingRule documentation似乎只允许一个target
。也许我只需要一个目标,而我只需要将多个实例组管理器连接到一个目标池?
对我来说,这样做的问题是我的实例组管理器是由Kubernetes创建的,我看不到在不重新定义实例组管理器的情况下将实例组管理器连接到目标池的方法。
当实例组不是使用部署管理器创建时,有没有方法可以将多个后端/实例组添加到转发规则中?
发布于 2017-11-06 16:43:20
库伯内斯
首先,如果您正在创建一个使用Kubernetes的集群,并且您愿意使运行在节点中的容器可以通过单个入口点到达,则必须对类型为create a service的负载均衡器进行访问。
Google Cloud Deployment Manager
但是,可以创建一个TCP负载均衡器,将流量重定向到多个后端,同样在Cloud Deployment Manager的情况下也是如此。
为了检查所需的底层组件,我建议您通过开发人员控制台创建一个临时的TCP负载均衡器,并从the advanced setting检查所有创建的组件。事实证明,您需要创建一个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
https://stackoverflow.com/questions/47115487
复制相似问题