Skip to content
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

External IP Address Missing from AKS Service Spec #176

Closed
nickward13 opened this issue Jun 20, 2018 · 4 comments
Closed

External IP Address Missing from AKS Service Spec #176

nickward13 opened this issue Jun 20, 2018 · 4 comments

Comments

@nickward13
Copy link

I'm using the library to retrieve the services I have deployed to my AKS cluster. I can successfully retrieve the service I'm after, however the ExternalIPs for the service in question are returned as null, whereas they have an external IP as shown by the kubectl output.

See attached ServiceSpec.png for the spec as received via the client library versus ServiceKubectl.png for the service details as seen from kubectl.

I'm trying to retrieve the "LoadBalancer Ingress" IP address for the service as provided by kubectl, and expected to find it in the ExternalIPs dictionary on the service object returned by the client library. Is it stored somewhere else?

servicekubectl

servicespec

@brendandburns
Copy link
Contributor

@nickward13 Any chance you can send the bare YAML?

My guess is there is a parse error somewhere in the c# code...

Thanks!

@nickward13
Copy link
Author

Thanks again @brendanburns. Will do.

@nickward13
Copy link
Author

Ok - I think I've got to the bottom of it. The external IP is correctly returned by the KubernetesClient in Status.LoadBalancer.Ingress[].Ip, not where I was initially looking for it in Spec.ExternalIps, which is still null. I'm not sure what is supposed to be in Spec.ExternalIps, however it doesn't seem to list the external IP addresses that are in Status.LoadBalancer.Ingress[]. I had to reproduce the error, as I no longer had the original AKS cluster I was connecting to. Attached is the yaml for the service as received from kubectl, showing the external IP address on the Status.LoadBalancer property.

service-simpleaspnetcoreappsvc.docx

@brendandburns
Copy link
Contributor

Ok, so that is by design. spec.externalIPs is a place where you request a static IP address if you want one.

status.loadBalancer.ingress is where a load balancer IP is reported from.

In general, in Kubernetes spec is input to Kubernetes configuration, status is output about the state of the world. (this is not 100% universally true, but it's pretty close)

I'm going to close this as I think it is working as intended.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants