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

managing multiple ingress-controller and route creation in eks cluster #735

Open
Mungari opened this issue Mar 19, 2024 · 0 comments
Open

Comments

@Mungari
Copy link

Mungari commented Mar 19, 2024

Morning all, at my company we're trying a two ingress-controller setup:
A private ingress controller for internal traffic and a public one for public facing/external traffic.

We've set up these two apisix-ingress-controllers on eks, so far so good. We're having some issues with the CRDs: it seems that the private controller picks up all the CRDs, even ones meant for the public one.

Is there a way to apply a filter to the CRDs or direct them to a specific ingress controller, besides namespace filtering? Looking at the documentation, chart and templates I couldn't find much.

Thanks in advance.

Kubernetes version: v1.28.6-eks-508b6b3
Chart version: 2.6.0
Application version: 3.8.0

ingress config if it helps.

apisix:
    admin:
      credentials:
        admin: XXXXXXXXXX
        viewer: XXXXXXXXXXX
  autoscaling:
    enabled: true
    maxReplicas: 3
    minReplicas: 2
    targetCPUUtilizationPercentage: 90
    targetMemoryUtilizationPercentage: 90
  dashboard:
    enabled: false
  ingress-controller:
    config:
      apisix:
        adminAPIVesion: 3
        adminKey: XXXXXXXXXX
        serviceName: ingress-apisix-public-admin
        serviceNamespace: apigateway
      certFile: XXXXXXXXXX
      ingressPublishService: apigateway/ingress-apisix-public-gateway
      kubernetes:
        ingressClass: apisix-public
    enabled: true
    gateway:
      annotations:
        service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: 300
        service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
        service.beta.kubernetes.io/aws-load-balancer-internal: false
        service.beta.kubernetes.io/aws-load-balancer-type: nlb
      type: LoadBalancer
  replicaCount: 2
  service:
    annotations:
      service.beta.kubernetes.io/aws-load-balancer-connection-idle-timeout: 300
      service.beta.kubernetes.io/aws-load-balancer-cross-zone-load-balancing-enabled: "true"
      service.beta.kubernetes.io/aws-load-balancer-internal: false
      service.beta.kubernetes.io/aws-load-balancer-type: nlb
    type: LoadBalancer
  serviceMonitor:
    enabled: true
    labels:
      release: prometheus-stack

NOTE: we have both service.type LoadBalancer and ingress-controller.gateway.type LoadBalancer otherwise externaldns doesn't work, apparently.

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