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

Support multiple gateways connected to different databases #4845

Open
1 of 2 tasks
randmonkey opened this issue Oct 13, 2023 · 1 comment
Open
1 of 2 tasks

Support multiple gateways connected to different databases #4845

randmonkey opened this issue Oct 13, 2023 · 1 comment
Labels

Comments

@randmonkey
Copy link
Contributor

Is there an existing issue for this?

  • I have searched the existing issues

Problem Statement

Following of #4751. If the Kong admin API service is pointing to a set of Kong pods backed by different databases (different host/port/DB name), KIC needs to choose one client connected to each different DB to keep every instance synced with the latest configuration.

Proposed Solution

  • Read host, port and DB name from /configuration admin API endpoint and group clients by the DB ("local" host in different instances should be considered as different hosts)
  • When sending config to Kong gateway clients in DB mode, choose one client for each DB

Additional information

No response

Acceptance Criteria

  • If multiple Kong gateway instances uses different DBs, their configuration should be synced with KIC.
@rainest
Copy link
Contributor

rainest commented Oct 13, 2023

Does this indeed follow from #4751? AFAIK we've never supported the notion of a single Kong cluster where some instances use one database and others another. DB HA considerations are handled at the DB level, with replica configuration opaque behind a single DB hostname for all Kong instances.

There was some discussion in the distant past re a single controller instance managing separate Kong clusters, but that was in the context of automatically provisioning clusters for multiple incompatible Gateways and sending each its appropriate configuration. I don't think that's what this is trying to tackle, since it's implying the same configuration to both databases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants