-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GKE LoadBalancer doesn't work with service deployed by Skaffold #887
Comments
I am seeing the same. Unless I use static IP, Service type=LoadBalancer never gets an IP on vanilla GKE cluster:
I know at least one more person who deployed the https://github.com/GoogleCloudPlatform/microservices-demo/ and reproed it. So that might be the easiest repro available in open source. YAML:
describe output:
|
I got another person repro this too. |
Progress debugging this: So if I do +Bonus: if I do |
AWESOME! Thanks @balopat . I was seeing the Then I thought "I guess this annotation just exists when you deploy things with kubectl-apply". I shouldn't have thought that. Well at least now we know what to fix. 🥇 |
an update: we are thinking about how to get around the labelling issue, some of the crappy alternatives that came up are:
|
I think ideally this should be fixed in Kubernetes core. The service controller should not be easily confused and get stuck. If you have a reliable repro, please open an issue to kubernetes/kubernetes. |
I don't think this is Kubernetes core specific, this looks like a GKE LoadBalancer specific issue. I will open an issue with them though. |
repro is super easy:
add a label in the edit command and you'll get the same issue |
Service controller (+cloudprovder support) is in Kubernetes core (https://github.com/kubernetes/kubernetes/tree/master/pkg/controller/service and https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/gce/gce_loadbalancer_external.go), therefore I recommend opening a GitHub issue. (: |
Just wanted to throw in a little +1 on this, experiencing the same issue |
It's fixed in kubernetes/kubernetes#68087 it's currently not picked into any of the 1.12 releases. Since this is in GKE master and GKE tends to pick up the new k8s versions through a long vetting process (i.e. today the default gke version is 1.9.7, and k8s just released 1.12.0-beta.1), it's unlikely that this will be fixed in GKE in the next 3 months. It might be worth considering to patch this somehow in Skaffold for the short-term. |
I believe this is fixed with #2568 - I'm not able to reproduce this locally on the latest version (v0.34.0). @thesandlord @ahmetb @balopat could one of you test out and make sure it's working for you as well? |
confirmed, this should work now! |
I have a service with
type: Loadbalancer
that I deploy with Skaffold. The service creates fine, the load balancer shows as healthy on the GCP console, but when I dokubectl get svc
the External IP address never gets resolved and is stuck in<pending>
. Everything works if I deploy same service usingkubectl apply
.I actually have this on video as well: https://youtu.be/JUFIF9QMN9M?t=1630
This has happened multiple times with multiple clusters, projects, and services. @ahmetb is experiencing the same issue as well.
Right now, I'm thinking there is something Skaffold does to the service (labels?) which is preventing the service from getting the external IP address.
Information
Service YAML
Skaffold YAML
Steps to reproduce the behavior
The text was updated successfully, but these errors were encountered: