[K8s] Use external-ip if configured on nginx ingress #3200
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On some on-prem clusters, ingresses may be exposed through a NodePort service that is backed by a custom external-ip set by the cluster admin. We should return this ip when queries through
sky status --endpoints
instead of returninglocalhost
.This PR adds support for reading external-ip if it is set. Also updates docs for clarity on how to use nginx ingress.
This is also helpful for skyserve on nginx ingress, since
localhost
is not accessible from the skyserve controller.Cherry-picking this change from #3109 for v0.5 release.
Tested (run the relevant ones):
bash format.sh
sky launch
a ports yaml on a) k3s cluster with this custom nodeport based ingress setup b) GKE cluster with regular loadbalancer based ingress.