Skip to content

AGIC multi site listerners for different backends #1733

@badbytes1

Description

@badbytes1

Based on the discussion here: #1263 (comment)

I have tried to reduce active listeners numbers in my app gateway because we are close to the limit (200/100)

here is the type of rules i have (5 in total)

rules:

  - host: api.main.domain.suffix
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: api
              port:
                number: 80
  - host: service2.main.domain.suffix
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: service2
              port:
                number: 80
  - host: service3.main.domain.suffix
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: service3
              port:
                number: 80
  - host: service4.main.domain.suffix
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: service4
              port:
                number: 80
  - host: service5.main.domain.suffix
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: service5
              port:
                number: 80

Since i have 5 services witch corresponds to the host max number allowed in microsoft doc :

i was thinking this annotation could create only 1 listener for my case as well

appgw.ingress.kubernetes.io/hostname-extension: "hostname1, hostname2"

And then writing something like this will create only 1 listener:

  annotations:
    kubernetes.io/ingress.class: azure-application-gateway
    appgw.ingress.kubernetes.io/hostname-extension: "services2.domain.suffix,services3.domain.suffix,services4.domain.suffix,services5.domain.suffix""
spec:
  rules:
  - host: api.main.domain.suffix
    http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: api
              port:
                number: 80

But it still creates 5 different listeners. (certificate used has a wildcard)

Is it because i have different backend service name per service?
Or because i have written my rules wrongly

Thanks a lot for you responses

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions