define name for ALB when creating kubernetes ingress in AKS

Copper Contributor

I’m creating Kubernetes nginx ingress controller using Helm https://artifacthub.io/packages/helm/ingress-nginx/ingress-nginx Since I’m provisioning a private AKS cluster, I instruct via annotations that the Azure Load Balancer that gets created has a private rather than a public IP address (service.beta.kubernetes.io/azure-load-balancer-internal and service.beta.kubernetes.io/azure-load-balancer-internal-subnet). Here's the values.yaml file that I provide when running helm install

 

 

 

controller:
  replicaCount: `
  image:
    registry: foo.azurecr.io
    digest: ""
    pullPolicy: Always
  ingressClassResource:
    # -- Name of the ingressClass
    name: "internal-nginx"
    # -- Is this ingressClass enabled or not
    enabled: true
    # -- Is this the default ingressClass for the cluster
    default: false
    # -- Controller-value of the controller that is processing this ingressClass
    controllerValue: "k8s.io/internal-ingress-nginx"
  admissionWebhooks:
    patch:
      image:
        registry: foo.azurecr.io
        digest: ""
 
  service:
    annotations:
      "service.beta.kubernetes.io/azure-load-balancer-internal": "true"
      "service.beta.kubernetes.io/azure-load-balancer-internal-subnet": subnet01
    loadBalancerIP: "x.x.x.x"
   
  watchIngressWithoutClass: true
  ingressClassResource:
    default: true
 
defaultBackend:
  enabled: true
  image:
    registry: foo.azurecr.io
    digest: ""

 

 

Each single ingress controller creates an Azure Load Balancer named kubernetes-internal:

adampra86_0-1661249146267.png

I've searched LoadBalancer annotations but can't find a way to control what the actual name for the ALB will be, or is it always kubernetes-internal ?

Anyone has any ideas please ?

 

 

0 Replies