我正在尝试使用以下代码通过部署管理器创建内部负载均衡器
- name: {{ env["name"] }}-port389-healthcheck
type: compute.v1.healthChecks
properties:
type: tcp
tcpHealthCheck: {
port: 389
}
- name: {{ env["name"] }}-port389-backend-service
type: compute.beta.backendService
properties:
healthChecks:
- $(ref.{{ env["name"] }}-port389-healthcheck.selfLink)
backends:
- group: $(ref.{{ env['name'] }}-master-instance-groups-managed.instanceGroup)
- group: $(ref.{{ env['name'] }}-slave-instance-groups-managed.instanceGroup)
protocol: TCP
region: {{ properties['region'] }}
loadBalancingScheme: INTERNAL
- name: {{ env["name"] }}-port389-forwarding-rule
type: compute.beta.forwardingRule
properties:
loadBalancingScheme: INTERNAL
ports:
- 389
network: default
region: {{ properties["region"] }}
backendService: $(ref.{{ env["name"] }}-port389-backend-service.selfLink)
运行以下命令时出错
Waiting for create operation-1478651694403-540d36cfdcdb9-cba25532-08697daf...failed.
ERROR: (gcloud.beta.deployment-manager.deployments.create) Error in Operation operation-1478651694403-540d36cfdcdb9-cba25532-08697daf:
errors:
- code: RESOURCE_ERROR
location: /deployments/forgerock/resources/forgerock-frontend-port389-backend-service-us-central1
message: 'Unexpected response from resource of type compute.beta.backendService:
400 {"code":400,"errors":[{"domain":"global","message":"Invalid value for field
''resource.loadBalancingScheme'': ''INTERNAL''. Load balancing scheme must be
external for a global backend service.","reason":"invalid"}],"message":"Invalid
value for field ''resource.loadBalancingScheme'': ''INTERNAL''. Load balancing
scheme must be external for a global backend service.","statusMessage":"Bad Request","requestPath":"https://www.googleapis.com/compute/beta/projects/carbide-tenure-557/global/backendServices"}'
它似乎是使用https://www.googleapis.com/compute/beta/projects/carbide-tenure-557/global/backendServices
而不是创建https://www.googleapis.com/compute/beta/projects/carbide-tenure-557/backendServices
我知道这是测试版功能,但尝试使用GDM
而不是混合gcloud
命令和GDM
答案1
请参见https://stackoverflow.com/questions/40498889/cloud-deployment-manager-internal-load-balancer-create-issue如何解决这个问题。
本质上,我们需要使用compute.v1.regionBackendService