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

Ingress with a backend service type ExternalName documentation needs to be updated #837

Closed
bzon opened this issue Feb 5, 2020 · 6 comments
Labels
documentation Pull requests/issues for documentation stale Pull requests/issues with no activity

Comments

@bzon
Copy link

bzon commented Feb 5, 2020

The doc https://github.com/nginxinc/kubernetes-ingress/tree/master/examples/externalname-services states that:

Note: This feature is only available in NGINX Plus.

We had a use-case for this and I just tried it and it worked just fine. I'm also not sure how it can be an NGINX Plus feature only. Can someone clarify this?

Thanks!

@Rulox
Copy link
Contributor

Rulox commented Feb 5, 2020

Hi @bzon this is a good question.

Similar question was asked when we got asked for this feature in the past. Please refer to this comment for more information.

Technically, with NGINX open source you can get something similar yes, but it will have some issues (that might cause disruptions in your IC). As per that comment, NGINX will try to resolve that DNS in every reload, keep in mind, we reload NGINX any time there's a change in an Ingress Resource (configmap, configs, annotations, etc), scale up-down of services using those Ingresses, etc... if only one of those times the DNS can't be resolved, NGINX will fail to reload, and an old config will be present in your IC.

Additionally, any change to the DNS won't be noticed by NGINX until next reload.

These 2 caveats make the usage with NGINX open source not fully supported, that's why we make use of the NGINX Plus features to resolve the addresses in realtime, and also keep using all the upstream features as any other service.

Does it make sense to you?

@bzon
Copy link
Author

bzon commented Feb 5, 2020

Thanks for the clarification. What I’ve done is something like this #262 (comment)

So ExternalNames do work but with caveats or proceed with caution. I think it must still be documented?

@Rulox
Copy link
Contributor

Rulox commented Feb 5, 2020

Yeah that's a "workaround" for it.

The thing is, we don't want to support a feature that is not fully functional, we could add that to the docs but I am not sure we'd like to offer a "buggy" incomplete feature. Anyways happy to discuss this internally with the team.

a FYI: If you use our CRDs of VS/VSR, I think that feature is disabled for Open Source (Ingress Controller won't even generate a proper NGINX config)

Thanks!

@Rulox Rulox added documentation Pull requests/issues for documentation proposal An issue that proposes a feature request labels Feb 6, 2020
@github-actions
Copy link

github-actions bot commented Mar 9, 2021

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions bot added the stale Pull requests/issues with no activity label Mar 9, 2021
@ogarrett ogarrett removed stale Pull requests/issues with no activity proposal An issue that proposes a feature request labels Mar 11, 2021
@github-actions
Copy link

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

@github-actions github-actions bot added the stale Pull requests/issues with no activity label May 11, 2021
@github-actions
Copy link

This issue was closed because it has been stalled for 7 days with no activity.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Pull requests/issues for documentation stale Pull requests/issues with no activity
Projects
None yet
Development

No branches or pull requests

3 participants