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

Add support for several servicePorts per ingress using canary via alb plugin #3128

Open
andreosipov opened this issue Oct 26, 2023 · 1 comment
Labels
enhancement New feature or request
Milestone

Comments

@andreosipov
Copy link

andreosipov commented Oct 26, 2023

Summary

At this moment argo rollouts spec with alb plugin supports several ingresses, but doesn't support several ports for k8s services. This is a problem, because there are lots of use cases when k8s service has several ports:
Screenshot 2023-10-26 at 18 05 47

Use Cases

In our setup we have several ingresses pointed at the same load balancer via alb.ingress.kubernetes.io/group.name annotation and each ingress has an underlying k8s service with a specific port (k8s service is the same for the business service), example:

ingress №1:

rules:
    - host: api-internal.example.net
      http:
        paths:
          - path: /*
            pathType: ImplementationSpecific
            backend:
              service:
                name: svc-stable
                port:
                  name: http-svc-internal

ingress №2:

rules:
    - host: api-specific.example.net
      http:
        paths:
          - path: /*
            pathType: ImplementationSpecific
            backend:
              service:
                name: svc-stable
                port:
                  name: http-svc-specific

Given the fact that the rollout spec should include all ingresses for the application and in case you have several ports being listened there is a problem with canary:

spec:
  strategy:
    canary:
      canaryService: svc-canary
      stableService: svc-stable
      maxUnavailable: '0%'
      maxSurge: '10%'
      trafficRouting:
        alb:
          ingresses:
            - internal-api
            - specific-api
          servicePort: http-svc-specific OR http-svc-internal 

It would be nice to add support for service ports per each ingress so canary could be used for all of them.


Message from the maintainers:

Impacted by this bug? Give it a 👍. We prioritize the issues with the most 👍.

@andreosipov andreosipov added the enhancement New feature or request label Oct 26, 2023
@rohitgit-web
Copy link

i have also same use case for internal and external ALB's on same rollout. It would be nice to add support for service ports per each ingress so canary could be used for all of them.

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

No branches or pull requests

3 participants