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

Envoy Admin operations with multizone and HA Global CP can fail #5080

Closed
jakubdyszkiewicz opened this issue Sep 29, 2022 · 1 comment · Fixed by #5466
Closed

Envoy Admin operations with multizone and HA Global CP can fail #5080

jakubdyszkiewicz opened this issue Sep 29, 2022 · 1 comment · Fixed by #5466
Assignees
Labels
kind/bug A bug kind/design Design doc or related triage/accepted The issue was reviewed and is complete enough to start working on it

Comments

@jakubdyszkiewicz
Copy link
Contributor

Description

Envoy Admin operations (xds config, stats, clusters available through GUI) are sent over KDS from Global to Zone CP.
The problem is that Zone CP connects to only one instance of Global CP initiating KDS.

@jakubdyszkiewicz jakubdyszkiewicz added triage/pending This issue will be looked at on the next triage meeting kind/bug A bug labels Sep 29, 2022
@jakubdyszkiewicz
Copy link
Contributor Author

We need to let one Global CP instance somehow pass this information to another CP instance.

Ideas

Each CP instance is configured with other CP instances IPs

We could configure each CP with IPs of other CPs.
CP Instance receives a request for a config dump. If it has a Zone CP connected, it executes as is. If not, it forwards the request to all instances and returns the response if one of the instances did not error.

This is challenging because

  • You need to update this information. CPs can go down.
  • You need to handle authentication on API Server or open an extra communication channel between CP instances.

Request/Response via ConfigMap

CP Instance receives a request for a config dump. If it has a Zone CP connected, it executes as is. If not, it creates a ConfigMap with a request.
Other instances poll config maps for requests. The instance that has Zone CP executes a request and saves it in the config map. The initiating instance reads the result, passes it to the user, and deletes the config map.

@jakubdyszkiewicz jakubdyszkiewicz added kind/design Design doc or related triage/accepted The issue was reviewed and is complete enough to start working on it and removed triage/pending This issue will be looked at on the next triage meeting labels Oct 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug A bug kind/design Design doc or related triage/accepted The issue was reviewed and is complete enough to start working on it
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant