Skip to content

Conversation

xuqingyun
Copy link
Collaborator

@xuqingyun xuqingyun commented Jul 25, 2025

What type of PR is this?

/kind feature

What this PR does / why we need it:

This PR adds support for configuring multiple domains for a single upstream cluster in KubeGateway. It allows users to define multiple domain names that route to the same backend cluster, enabling flexible deployment scenarios (e.g., internal vs. external access, blue-green deployments).

  • Key Features:

    • Multi-Domain Configuration: Define multiple domains per upstream cluster in the gateway configuration.
    • Domain-Specific Routing: Maintain separate routing rules and policies for each domain.
    • Shared Routing and Rate Limiting: All domains associated with a cluster share the same routing rules and rate limit configurations, ensuring consistent behavior across access paths.
    • Domain Uniqueness Validation: Introduce checks to prevent domain name conflicts—ensuring a domain cannot be assigned to multiple clusters, which avoids routing ambiguity.
  • Implementation Details:

    • Added a new serverNames field to the upstream cluster configuration schema.
    • Enhanced routing logic to handle multiple domains per cluster.

Which issue(s) this PR fixes:

Fixes #75
Also fixed #61

Special notes for your reviewer:

Does this PR introduce a user-facing change?:


@xuqingyun xuqingyun requested a review from xu282934741 July 25, 2025 09:06
@xuqingyun xuqingyun force-pushed the git-xqy/multi-server branch from 079f8c7 to bcb7a83 Compare July 25, 2025 09:09
@xuqingyun xuqingyun removed the request for review from xu282934741 July 29, 2025 03:35
@xuqingyun xuqingyun merged commit 4acbb37 into kubewharf:main Aug 7, 2025
2 checks passed
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.

Support Multiple Domains for a Single Upstream Cluster 连接后端apiserver走https的时候能否不写死tlsClientConfig里面的name

1 participant