Implement watcher pattern for externalName services #4816
Closed
brianehlert
started this conversation in
Ideas
Replies: 2 comments
-
@shaun-nx Was this solved with the additional work implemented for upstream:backup? |
Beta Was this translation helpful? Give feedback.
0 replies
-
it's already implemented |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Support dynamic updating of externalName services.
Currently NGINX Ingress Controller primarily relies on the NGINX Plus capability of the dynamic upstream resolver to continuously resolve DNS names for upstreams (NGINX is always routing to IP addresses under the hood).
NGINX OSS relies on a different DNS resolution path that is tied to start and reload and does not dynamically query and seamlessly update externalName services.
This is different from Service resolution that uses the K8s API to resolve pod IP addresses using endpointSlices for upstreams.
While both of these achieve the task of updating the upstream servers when DNS names are provided for externalName Services the gap is that the project does not subscribe a watcher to the externalName Service resource. And thus if the resource is changed or deleted the corresponding configurations are not updated immediately. The references to the externalName Services must be removed / updated from the VirtualServer, TransportServer, or Ingress resources.
If an externalName service is configured in an Ingress, VirtualServer, TransportServer what needs to happen?
Beta Was this translation helpful? Give feedback.
All reactions