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

request help: Multi-tenancy scenario (Apisix Ingress controller mapping one-to-many with apisix GW) #2242

Open
SandaDD opened this issue May 27, 2024 · 0 comments

Comments

@SandaDD
Copy link

SandaDD commented May 27, 2024

Issue description

I have a scenario where I have multiple environments, and I want to avoid cross-namespace contamination. I aim to achieve this by having separate Apisix gateways per environment (e.g., dev, test, and prod) but only one Apisix ingress controller. Is this possible?

Based on the Helm chart configuration, I see that the ingress controller is connected to the admin API based on apisix.serviceName and apisix.serviceNamespace (from values.yaml). Those attributes are string values, and therefore I assume that the mapping between the ingress controller and the admin API is one-to-one. Does this also apply to Apisix gateways, i.e., should we have the same number of ingress controller instances as Apisix gateway instances?

I know that I can achieve namespace isolation at the ingress controller level based on the kubernetes.namespaceSelector attribute, but can this be done at the gateway level without installing multiple instances of the ingress controller?

Environment

  • apisix-ingress-controller version: 1.7.1
  • apisix gw: 3.8.0.
  • Kubernetes cluster version:
    Client Version: v1.29.2
    Server Version: v1.27.11
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

No branches or pull requests

1 participant