Kubernetes Google Container Engine HTTPS Load Balancer Error

9/12/2016

Does anyone know if Google’s HTTPS loadbalancer is working? I was working on setting up a NGINX ingress service but I noticed the Google Loadbalancer was automatically being setup by Kubernetes. I was getting two external IPs instead of one. So instead of setting up the NGINX load balancer I decided to use the Google service. I deleted my container cluster, created a brand new one. I started my HTTP pod and HTTP service on port 80. I then created my ingress service and L7 controller pod. Now I'm getting the following error when I review the load balancer logs:

Event(api.ObjectReference{Kind:"Ingress", Namespace:"default", Name:"echomap", UID:"9943e74c-76de-11e6-8c50-42010af0009b", APIVersion:"extensions", ResourceVersion:"7935", FieldPath:""}): type: 'Warning' reason: 'GCE' googleapi: Error 400: Validation failed for instance 'projects/mundolytics/zones/us-east1-c/instances/gke-airportal-default-pool-7753c577-129e': instance may belong to at most one load-balanced instance group., instanceInMultipleLoadBalancedIgs

-- Alex Luis Arias
google-kubernetes-engine
https
kubernetes
load-balancing

1 Answer

11/21/2016

Probably you have one or more hanging backend services. Run gcloud compute backend-services list to find them and then gcloud compute backend-services delete [SERVICE-NAME] for each service to remove it.

$ gcloud compute backend-services list
NAME                            BACKENDS                                                             PROTOCOL
my-hanging-service              us-central1-a/instanceGroups/gke-XXXXXXX-default-pool-XXXXXXX-grp  HTTP

$ gcloud compute backend-services delete my-hanging-service
-- Michal Foksa
Source: StackOverflow