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

Vservice gw heterogenous ns #5

Closed
wants to merge 7 commits into from
Closed

Vservice gw heterogenous ns #5

wants to merge 7 commits into from

Conversation

rahtr
Copy link
Member

@rahtr rahtr commented May 15, 2023

Description

Currently there is no support to watch multiple namespaces due to a limitation in the client-go library. The informers doesn't support a list of namespaces due to which you can either watch one or all namespaces. With the evolution of multi-tenancy, heterogeneous deployments for example: Virtual Service and Gateway deployed on different namespaces is a very common use case.
Because of the above mentioned limitation, it's not possible to achieve the heterogeneous deployment scenario's. You can check this issue for one such failed scenario(kubernetes-sigs#2911).

With this PR, the GW sources are fetched by watching the gateway namespace instead of the virtualservice namespace.

Tested for both namespace and cluster scoped deployed on EKS with Route53.

To add more context to this PR, currently the gateway targets are fetched via the service metadata fetched as part of the informers watching the namespace where virtual services are deployed. This works well when both the virtual service and gateway resource are deployed in the same namespace but would fail if the gateway is deployed in another namespace. This PR fixes this problem by fetching the gateway targets directly from the gateway resource namespace.

Fixes kubernetes-sigs#2911

Checklist

  • Unit tests updated
  • End user documentation updated

rahtr and others added 2 commits April 5, 2023 16:54
…rmer optional for service source (#1)

* Make external-dns run in a restricted k8s cluster

* Added zarf and updated Makefile

* Made service nodeInformer optional

* Added support for multinamespace watching

* Added dedicated extraArgs parameter for namespaces

* Added Github action for docker build and push to ghcr

Co-authored-by: Razvan Dobre <[email protected]>
@rahtr
Copy link
Member Author

rahtr commented May 15, 2023

/retest

@rahtr
Copy link
Member Author

rahtr commented Jun 1, 2023

@azun Could you please help merge this PR?

@azun azun force-pushed the master branch 2 times, most recently from 812ba38 to ceba31b Compare July 31, 2023 19:34
@rahtr rahtr closed this by deleting the head repository Aug 1, 2023
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

Successfully merging this pull request may close these issues.

External-DNS is unable to compute VirtualService's endpoint
3 participants